

"""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   lowerCAmelCase						(					__UpperCamelCase							,    __UpperCamelCase							,    __UpperCamelCase							,    __UpperCamelCase      ):
 '''simple docstring'''





 UpperCAmelCase__					:  Optional[int]					   =					FunnelConfig.from_json_file(__UpperCamelCase      )
 print(F"Building PyTorch model from configuration: {config}"      )
 UpperCAmelCase__					:  str					   =					FunnelBaseModel(__UpperCamelCase      ) if base_model else FunnelModel(__UpperCamelCase      )

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

 # Save pytorch-model
 print(F"Save PyTorch model to {pytorch_dump_path}"      )
 torch.save(model.state_dict()							,    __UpperCamelCase      )


if __name__ == "__main__":
      __UpperCAmelCase =				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.'
      )
      __UpperCAmelCase =				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 ...configuration_utils import PretrainedConfig
from ...utils import logging


__UpperCAmelCase =				logging.get_logger(__name__)







class      __lowercase			(    __lowerCamelCase					):
  snake_case_				       =       """timm_backbone"""

  def __init__(  self		:			List[str]					,A		:			Any=None					,A		:			List[Any]=3					,A		:			Any=True					,A		:			Union[str, Any]=True					,A		:			List[Any]=None					,**A		:			Optional[int]					,):






   '''simple docstring'''
   super().__init__(**A    )
   UpperCAmelCase__					:  Optional[int]					   =					backbone
   UpperCAmelCase__					:  Dict					   =					num_channels
   UpperCAmelCase__					:  Optional[int]					   =					features_only
   UpperCAmelCase__					:  Tuple					   =					use_pretrained_backbone
   UpperCAmelCase__					:  str					   =					True
   UpperCAmelCase__					:  List[str]					   =					out_indices if out_indices is not None else (-1,)





