


"""simple docstring"""






__snake_case		=       [
    (1000, "M"),
    (900, "CM"),
    (500, "D"),
    (400, "CD"),
    (100, "C"),
    (90, "XC"),
    (50, "L"),
    (40, "XL"),
    (10, "X"),
    (9, "IX"),
    (5, "V"),
    (4, "IV"),
    (1, "I"),
]
def       A_   (   _lowerCAmelCase     :					List[str]       ):






					"""simple docstring"""

					_a    	=				{"""I""": 1, """V""": 5, """X""": 10, """L""": 50, """C""": 1_00, """D""": 5_00, """M""": 10_00}
					_a    	=				0
					_a    	=				0
					while place < len(__lowerCAmelCase       ):
										if (place + 1 < len(__lowerCAmelCase       )) and (vals[roman[place]] < vals[roman[place + 1]]):
															total += vals[roman[place + 1]] - vals[roman[place]]
															place += 2
										else:
															total += vals[roman[place]]
															place += 1
					return total
def       A_   (   _lowerCAmelCase     :					Optional[int]       ):






					"""simple docstring"""

					_a    	=				[]
					for arabic, roman in ROMAN:
										(_a)    	=				divmod(__lowerCAmelCase,     __lowerCAmelCase       )
										result.append(roman * factor       )
										if number == 0:
															break
					return "".join(__lowerCAmelCase       )


if __name__ == "__main__":
			import doctest

			doctest.testmod()



"""simple docstring"""






import argparse

import torch

from transformers import BertConfig, BertForPreTraining, load_tf_weights_in_bert
from transformers.utils import logging


logging.set_verbosity_info()
def       A_   (   _lowerCAmelCase     :					Dict,     _lowerCAmelCase     :					List[Any],     _lowerCAmelCase     :					Union[str, Any]       ):






     """simple docstring"""

     _a    	=				BertConfig.from_json_file(_lowerCAmelCase       )
     print(f'Building PyTorch model from configuration: {config}'       )
     _a    	=				BertForPreTraining(_lowerCAmelCase       )

     # Load weights from tf checkpoint
     load_tf_weights_in_bert(_lowerCAmelCase,     _lowerCAmelCase,     _lowerCAmelCase       )

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


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)