





'''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 					a__				(				lowercase					:     List[str],					lowercase					:     Dict,					lowercase					:     Union[str, Any],					lowercase					:     int      )		->		int:





     """simple docstring"""

     _UpperCamelCase				    =       FunnelConfig.from_json_file(UpperCamelCase__      )
     print(F"""Building PyTorch model from configuration: {config}"""      )
     _UpperCamelCase				    =       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__":
   lowercase__						:			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.'
   )
   lowercase__						:			Any       =				parser.parse_args()
   convert_tf_checkpoint_to_pytorch(
       args.tf_checkpoint_path, args.config_file, args.pytorch_dump_path, args.base_model
   )










def 						__SCREAMING_SNAKE_CASE  (				UpperCamelCase__			,			UpperCamelCase__			,			UpperCamelCase__ )  ->				int:







			'''simple docstring'''

			if exponent == 1:
						return base
			if exponent % 2 == 0:
						UpperCAmelCase   		=				_modexpt(UpperCamelCase__			,			exponent // 2			,			UpperCamelCase__ ) % modulo_value
						return (x * x) % modulo_value
			else:
						return (base * _modexpt(UpperCamelCase__			,			exponent - 1			,			UpperCamelCase__ )) % modulo_value





def 						__SCREAMING_SNAKE_CASE  (				UpperCamelCase__ = 1777			,			UpperCamelCase__ = 1855			,			UpperCamelCase__ = 8 )  ->				int:







			'''simple docstring'''

			UpperCAmelCase   		=				base
			for _ in range(1			,			UpperCamelCase__ ):
						UpperCAmelCase   		=				_modexpt(UpperCamelCase__			,			UpperCamelCase__			,			10**digits )

			return result


if __name__ == "__main__":
				print(F'{solution() = }')



