"""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 							SCREAMING_SNAKE_CASE  (    _lowerCamelCase		: Dict    ,_lowerCamelCase		: int    ,_lowerCamelCase		: Optional[int]    ,_lowerCamelCase		: Dict			) ->   int:
  # Initialise PyTorch model
  _lowerCAmelCase		: Any						    =  FunnelConfig.from_json_file(_lowerCamelCase			)
  print(f"Building PyTorch model from configuration: {config}"			)
  _lowerCAmelCase		: Optional[int]						    =  FunnelBaseModel(_lowerCamelCase			) if base_model else FunnelModel(_lowerCamelCase			)

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

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


if __name__ == "__main__":
     _a   :	Union[str, Any] 					=     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   :	Any 					=     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 							SCREAMING_SNAKE_CASE  (    _lowerCamelCase		: int			) ->   bool:
  return sum(i for i in range(1    ,number // 2 + 1			) if number % i == 0			) == number


if __name__ == "__main__":
     print('Program to check whether a number is a Perfect number or not...')
     _a   :	int 					=     int(input('Enter number: ').strip())
     print(F"""{number} is {"" if perfect(number) else "not "}a Perfect Number.""")




