





import argparse

from transformers import BigBirdConfig, BigBirdForPreTraining, BigBirdForQuestionAnswering, load_tf_weights_in_big_bird
from transformers.utils import logging


logging.set_verbosity_info()




def      a__			(       lowercase__	,     lowercase__	,     lowercase__	,     lowercase__	):






   '''simple docstring'''






   UpperCAmelCase_           =BigBirdConfig.from_json_file(__lowercase	)
   print(F'Building PyTorch model from configuration: {config}'	)

   if is_trivia_qa:
      UpperCAmelCase_           =BigBirdForQuestionAnswering(__lowercase	)
   else:
      UpperCAmelCase_           =BigBirdForPreTraining(__lowercase	)

   # Load weights from tf checkpoint
   load_tf_weights_in_big_bird(__lowercase	,     __lowercase	,     is_trivia_qa=__lowercase	)

   # Save pytorch-model
   print(F'Save PyTorch model to {pytorch_dump_path}'	)
   model.save_pretrained(__lowercase	)


if __name__ == "__main__":
     __lowercase	: 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(
         """--big_bird_config_file""",
         default=None,
         type=str,
         required=True,
         help=(
             """The config json file corresponding to the pre-trained BERT model. \n"""
             """This 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(
         """--is_trivia_qa""", action="""store_true""", help="""Whether to convert a model with a trivia_qa head."""
     )
     __lowercase	: Union[str, Any]       =parser.parse_args()
     convert_tf_checkpoint_to_pytorch(
         args.tf_checkpoint_path, args.big_bird_config_file, args.pytorch_dump_path, args.is_trivia_qa
     )










'''simple docstring'''







from ..utils import DummyObject, requires_backends







class 					_a (metaclass=a__	):





     '''simple docstring'''



     lowerCAmelCase_  :     Any          =					["""flax"""]







     def __init__(				self							,*__a							,**__a							)      ->				Tuple:
          requires_backends(self							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				Tuple:
          requires_backends(cls							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				Dict:
          requires_backends(cls							,["""flax"""]							)







class 					_a (metaclass=a__	):





     '''simple docstring'''



     lowerCAmelCase_  :     Optional[int]          =					["""flax"""]







     def __init__(				self							,*__a							,**__a							)      ->				List[Any]:
          requires_backends(self							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				List[str]:
          requires_backends(cls							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				str:
          requires_backends(cls							,["""flax"""]							)







class 					_a (metaclass=a__	):





     '''simple docstring'''



     lowerCAmelCase_  :     Any          =					["""flax"""]







     def __init__(				self							,*__a							,**__a							)      ->				Any:
          requires_backends(self							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				List[Any]:
          requires_backends(cls							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				Any:
          requires_backends(cls							,["""flax"""]							)







class 					_a (metaclass=a__	):





     '''simple docstring'''



     lowerCAmelCase_  :     List[str]          =					["""flax"""]







     def __init__(				self							,*__a							,**__a							)      ->				Optional[Any]:
          requires_backends(self							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				Dict:
          requires_backends(cls							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				int:
          requires_backends(cls							,["""flax"""]							)







class 					_a (metaclass=a__	):





     '''simple docstring'''



     lowerCAmelCase_  :     int          =					["""flax"""]







     def __init__(				self							,*__a							,**__a							)      ->				Optional[int]:
          requires_backends(self							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				Optional[Any]:
          requires_backends(cls							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				List[str]:
          requires_backends(cls							,["""flax"""]							)







class 					_a (metaclass=a__	):





     '''simple docstring'''



     lowerCAmelCase_  :     Dict          =					["""flax"""]







     def __init__(				self							,*__a							,**__a							)      ->				Optional[Any]:
          requires_backends(self							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				List[Any]:
          requires_backends(cls							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				int:
          requires_backends(cls							,["""flax"""]							)







class 					_a (metaclass=a__	):





     '''simple docstring'''



     lowerCAmelCase_  :     Union[str, Any]          =					["""flax"""]







     def __init__(				self							,*__a							,**__a							)      ->				List[str]:
          requires_backends(self							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				Optional[Any]:
          requires_backends(cls							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				str:
          requires_backends(cls							,["""flax"""]							)







class 					_a (metaclass=a__	):





     '''simple docstring'''



     lowerCAmelCase_  :     Optional[Any]          =					["""flax"""]







     def __init__(				self							,*__a							,**__a							)      ->				str:
          requires_backends(self							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				str:
          requires_backends(cls							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				Union[str, Any]:
          requires_backends(cls							,["""flax"""]							)







class 					_a (metaclass=a__	):





     '''simple docstring'''



     lowerCAmelCase_  :     List[Any]          =					["""flax"""]







     def __init__(				self							,*__a							,**__a							)      ->				Union[str, Any]:
          requires_backends(self							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				Any:
          requires_backends(cls							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				Optional[Any]:
          requires_backends(cls							,["""flax"""]							)







class 					_a (metaclass=a__	):





     '''simple docstring'''



     lowerCAmelCase_  :     Dict          =					["""flax"""]







     def __init__(				self							,*__a							,**__a							)      ->				Dict:
          requires_backends(self							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				List[str]:
          requires_backends(cls							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				Optional[Any]:
          requires_backends(cls							,["""flax"""]							)







class 					_a (metaclass=a__	):





     '''simple docstring'''



     lowerCAmelCase_  :     List[str]          =					["""flax"""]







     def __init__(				self							,*__a							,**__a							)      ->				Tuple:
          requires_backends(self							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				Tuple:
          requires_backends(cls							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				Optional[int]:
          requires_backends(cls							,["""flax"""]							)







class 					_a (metaclass=a__	):





     '''simple docstring'''



     lowerCAmelCase_  :     Tuple          =					["""flax"""]







     def __init__(				self							,*__a							,**__a							)      ->				List[str]:
          requires_backends(self							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				Union[str, Any]:
          requires_backends(cls							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				Dict:
          requires_backends(cls							,["""flax"""]							)







class 					_a (metaclass=a__	):





     '''simple docstring'''



     lowerCAmelCase_  :     Tuple          =					["""flax"""]







     def __init__(				self							,*__a							,**__a							)      ->				Tuple:
          requires_backends(self							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				List[str]:
          requires_backends(cls							,["""flax"""]							)







     @classmethod
     def 			snake_case_      (				cls							,*__a							,**__a							)      ->				int:
          requires_backends(cls							,["""flax"""]							)



