





'''simple docstring'''




import argparse

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


logging.set_verbosity_info()






def 			_lowerCAmelCase     (    __snake_case    :					Optional[int]					,				__snake_case    :					Tuple					,				__snake_case    :					List[str]					,				__snake_case    :					Tuple     )	->	Tuple:
     __A		:					Optional[int]						=			BigBirdConfig.from_json_file(SCREAMING_SNAKE_CASE__     )
     print(f'Building PyTorch model from configuration: {config}'     )

     if is_trivia_qa:
          __A		:					Tuple						=			BigBirdForQuestionAnswering(SCREAMING_SNAKE_CASE__     )
     else:
          __A		:					Tuple						=			BigBirdForPreTraining(SCREAMING_SNAKE_CASE__     )

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

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


if __name__ == "__main__":
  lowercase__       : List[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(
      '''--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__       : int         =       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'''



import argparse

import torch

from transformers import RemBertConfig, RemBertModel, load_tf_weights_in_rembert
from transformers.utils import logging


logging.set_verbosity_info()



def  __UpperCAmelCase						(					SCREAMING_SNAKE_CASE__:						Optional[Any],       SCREAMING_SNAKE_CASE__:						Tuple,       SCREAMING_SNAKE_CASE__:						Dict     )	->      List[Any]:

   """simple docstring"""
   # Initialise PyTorch model
   __a					  =     RemBertConfig.from_json_file(SCREAMING_SNAKE_CASE__     )
   print('Building PyTorch model from configuration: {}'.format(str(SCREAMING_SNAKE_CASE__     )     )     )
   __a					  =     RemBertModel(SCREAMING_SNAKE_CASE__     )

   # Load weights from tf checkpoint
   load_tf_weights_in_rembert(SCREAMING_SNAKE_CASE__,       SCREAMING_SNAKE_CASE__,       SCREAMING_SNAKE_CASE__     )

   # Save pytorch-model
   print('Save PyTorch model to {}'.format(SCREAMING_SNAKE_CASE__     )     )
   torch.save(model.state_dict(),       SCREAMING_SNAKE_CASE__     )


if __name__ == "__main__":
 __UpperCamelCase   :							List[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(
     """--rembert_config_file""",
     default=None,
     type=str,
     required=True,
     help=(
         """The config json file corresponding to the pre-trained RemBERT 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."""
 )
 __UpperCamelCase   :							List[str]         =   parser.parse_args()
 convert_rembert_tf_checkpoint_to_pytorch(args.tf_checkpoint_path, args.rembert_config_file, args.pytorch_dump_path)