


'''simple docstring'''






import argparse

import torch

from transformers import FunnelBaseModel, FunnelConfig, FunnelModel, load_tf_weights_in_funnel
from transformers.utils import logging


logging.set_verbosity_info()







def     UpperCamelCase_      (   A__ :       Any							,   A__ :       Tuple							,   A__ :       Optional[Any]							,   A__ :       Optional[int] ):
  '''simple docstring'''





  lowerCAmelCase_      :				Union[str, Any]      =       FunnelConfig.from_json_file(A__ )
  print(f'Building PyTorch model from configuration: {config}' )
  lowerCAmelCase_      :				Optional[Any]      =       FunnelBaseModel(A__ ) if base_model else FunnelModel(A__ )

  # Load weights from tf checkpoint
  load_tf_weights_in_funnel(A__							,   A__							,   A__ )

  # Save pytorch-model
  print(f'Save PyTorch model to {pytorch_dump_path}' )
  torch.save(model.state_dict()							,   A__ )


if __name__ == "__main__":
  __A :  Optional[int]    							=				argparse.ArgumentParser()
  # Required parameters
  parser.add_argument(
      "--tf_checkpoint_path", default=None, type=str, required=True, help="Path to the TensorFlow checkpoint path."
  )
  parser.add_argument(
      "--config_file",
      default=None,
      type=str,
      required=True,
      help="The config json file corresponding to the pre-trained model. \nThis specifies the model architecture.",
  )
  parser.add_argument(
      "--pytorch_dump_path", default=None, type=str, required=True, help="Path to the output PyTorch model."
  )
  parser.add_argument(
      "--base_model", action="store_true", help="Whether you want just the base model (no decoder) or not."
  )
  __A :  str    							=				parser.parse_args()
  convert_tf_checkpoint_to_pytorch(
      args.tf_checkpoint_path, args.config_file, args.pytorch_dump_path, args.base_model
  )







'''simple docstring'''






from ..utils import DummyObject, requires_backends






class        __snake_case	(       metaclass=_SCREAMING_SNAKE_CASE):







    """simple docstring"""



    lowercase       			= ['note_seq']

    def __init__(       self   :  Tuple   ,						*lowerCamelCase   :  Optional[int]   ,						**lowerCamelCase   :  Tuple		)       ->  Any:
      requires_backends(self   ,						["""note_seq"""]		)

    @classmethod
    def __lowercase       (       cls   :  Optional[Any]   ,						*lowerCamelCase   :  List[Any]   ,						**lowerCamelCase   :  Dict		)       ->  List[Any]:
      requires_backends(cls   ,						["""note_seq"""]		)





    @classmethod
    def __lowercase       (       cls   :  Union[str, Any]   ,						*lowerCamelCase   :  Union[str, Any]   ,						**lowerCamelCase   :  List[Any]		)       ->  Optional[int]:
      requires_backends(cls   ,						["""note_seq"""]		)



