



"""simple docstring"""


import argparse

import torch

from transformers import RoFormerConfig, RoFormerForMaskedLM, load_tf_weights_in_roformer
from transformers.utils import logging


logging.set_verbosity_info()

def 					_lowerCAmelCase (  lowercase_						,      lowercase_						,      lowercase_		):
						# Initialise PyTorch model
						UpperCAmelCase			 =					RoFormerConfig.from_json_file(lowercase_		)
						print(F"""Building PyTorch model from configuration: {config}"""		)
						UpperCAmelCase			 =					RoFormerForMaskedLM(lowercase_		)

						# Load weights from tf checkpoint
						load_tf_weights_in_roformer(lowercase_						,      lowercase_						,      lowercase_		)

						# Save pytorch-model
						print(F"""Save PyTorch model to {pytorch_dump_path}"""		)
						torch.save(model.state_dict()						,      lowercase_						,      _use_new_zipfile_serialization=lowercase_		)


if __name__ == "__main__":
				snake_case_								=			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(
				    """--bert_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."""
				)
				snake_case_								=			parser.parse_args()
				convert_tf_checkpoint_to_pytorch(args.tf_checkpoint_path, args.bert_config_file, args.pytorch_dump_path)






def 					__lowercase						(    lowerCamelCase__       )					->int:

  '''simple docstring'''




  if not isinstance(lowerCamelCase__			,					lowerCamelCase__       ):
    raise ValueError("double_factorial() only accepts integral values"       )
  if n < 0:
    raise ValueError("double_factorial() not defined for negative values"       )
  return 1 if n <= 1 else n * double_factorial(n - 2       )


if __name__ == "__main__":
     import doctest

     doctest.testmod()

