



'''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				(   A__    ,						A__    ,						A__    ,						A__    )       ->	Optional[Any]:






   """simple docstring"""
   # Initialise PyTorch model
   UpperCamelCase					=  FunnelConfig.from_json_file(A__    )
   print(F"""Building PyTorch model from configuration: {config}"""    )
   UpperCamelCase					=  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__":
   _lowerCamelCase	:       str      	=	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."
   )
   _lowerCamelCase	:       Dict      	=	parser.parse_args()
   convert_tf_checkpoint_to_pytorch(
       args.tf_checkpoint_path, args.config_file, args.pytorch_dump_path, args.base_model
   )






'''simple docstring'''


def 				__lowerCamelCase				(   A__    )       ->	list:






   """simple docstring"""
   UpperCamelCase					=  len(A__    )
   for i in range(1    ,						A__    ):
      UpperCamelCase					=  collection[i]
      UpperCamelCase					=  0
      UpperCamelCase					=  i - 1

      while low <= high:
         UpperCamelCase					=  (low + high) // 2
         if val < collection[mid]:
            UpperCamelCase					=  mid - 1
         else:
            UpperCamelCase					=  mid + 1
      for j in range(A__    ,						A__    ,						-1    ):
         UpperCamelCase					=  collection[j - 1]
      UpperCamelCase					=  val
   return collection


if __name__ == "__main__":
   _lowerCamelCase	:       int      	=	input("Enter numbers separated by a comma:\n").strip()
   _lowerCamelCase	:       Union[str, Any]      	=	[int(item) for item in user_input.split(",")]
   print(binary_insertion_sort(unsorted))

