
"""simple docstring"""




import argparse

import torch

from transformers import LxmertConfig, LxmertForPreTraining, load_tf_weights_in_lxmert
from transformers.utils import logging


logging.set_verbosity_info()

def lowercase_						(     _snake_case     ,_snake_case     ,_snake_case		):
							# Initialise PyTorch model
							SCREAMING_SNAKE_CASE__		: Union[str, Any]     =     LxmertConfig.from_json_file(_snake_case		)
							print(f'''Building PyTorch model from configuration: {config}'''		)
							SCREAMING_SNAKE_CASE__		: Union[str, Any]     =     LxmertForPreTraining(_snake_case		)

							# Load weights from tf checkpoint
							load_tf_weights_in_lxmert(_snake_case     ,_snake_case     ,_snake_case		)

							# Save pytorch-model
							print(f'''Save PyTorch model to {pytorch_dump_path}'''		)
							torch.save(model.state_dict()     ,_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(
					    '--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.'
					)
					UpperCAmelCase__   :					Optional[Any]												=				parser.parse_args()
					convert_tf_checkpoint_to_pytorch(args.tf_checkpoint_path, args.config_file, args.pytorch_dump_path)






"""simple docstring"""




import logging

from transformers import PretrainedConfig


UpperCAmelCase__   :					Union[str, Any]												=				logging.getLogger(__name__)


UpperCAmelCase__   :					Any												=				{
    'bertabs-finetuned-cnndm': 'https://huggingface.co/remi/bertabs-finetuned-cnndm-extractive-abstractive-summarization/resolve/main/config.json',
}



class 			lowerCAmelCase_		(a__						):


				"""simple docstring"""



				__UpperCamelCase   :		List[Any]       =     '''bertabs'''



				def __init__(self     , SCREAMING_SNAKE_CASE__=3_05_22     , SCREAMING_SNAKE_CASE__=5_12     , SCREAMING_SNAKE_CASE__=6     , SCREAMING_SNAKE_CASE__=5_12     , SCREAMING_SNAKE_CASE__=8     , SCREAMING_SNAKE_CASE__=5_12     , SCREAMING_SNAKE_CASE__=0.2     , SCREAMING_SNAKE_CASE__=6     , SCREAMING_SNAKE_CASE__=7_68     , SCREAMING_SNAKE_CASE__=8     , SCREAMING_SNAKE_CASE__=20_48     , SCREAMING_SNAKE_CASE__=0.2     , **SCREAMING_SNAKE_CASE__     , )      ->	Union[str, Any]:



											"""simple docstring"""




											super().__init__(**SCREAMING_SNAKE_CASE__					)

											SCREAMING_SNAKE_CASE__		: Optional[Any]     =     vocab_size
											SCREAMING_SNAKE_CASE__		: Any     =     max_pos

											SCREAMING_SNAKE_CASE__		: List[Any]     =     enc_layers
											SCREAMING_SNAKE_CASE__		: Tuple     =     enc_hidden_size
											SCREAMING_SNAKE_CASE__		: Dict     =     enc_heads
											SCREAMING_SNAKE_CASE__		: Optional[Any]     =     enc_ff_size
											SCREAMING_SNAKE_CASE__		: Dict     =     enc_dropout

											SCREAMING_SNAKE_CASE__		: Any     =     dec_layers
											SCREAMING_SNAKE_CASE__		: Union[str, Any]     =     dec_hidden_size
											SCREAMING_SNAKE_CASE__		: Any     =     dec_heads
											SCREAMING_SNAKE_CASE__		: List[Any]     =     dec_ff_size
											SCREAMING_SNAKE_CASE__		: str     =     dec_dropout




