






"""simple docstring"""






import argparse

import torch

from transformers import GPTaConfig, GPTaModel, load_tf_weights_in_gpta
from transformers.utils import CONFIG_NAME, WEIGHTS_NAME, logging


logging.set_verbosity_info()



def  __lowerCamelCase					(					lowerCAmelCase__       ,lowerCAmelCase__       ,lowerCAmelCase__				):
				# Construct model
				if gpta_config_file == "":
								A__							 =       GPTaConfig()
				else:
								A__							 =       GPTaConfig.from_json_file(lowerCAmelCase__				)
				A__							 =       GPTaModel(lowerCAmelCase__				)

				# Load weights from numpy
				load_tf_weights_in_gpta(lowerCAmelCase__       ,lowerCAmelCase__       ,lowerCAmelCase__				)

				# Save pytorch-model
				A__							 =       pytorch_dump_folder_path + '/' + WEIGHTS_NAME
				A__							 =       pytorch_dump_folder_path + '/' + CONFIG_NAME
				print(f'''Save PyTorch model to {pytorch_weights_dump_path}'''				)
				torch.save(model.state_dict()       ,lowerCAmelCase__				)
				print(f'''Save configuration file to {pytorch_config_dump_path}'''				)
				with open(lowerCAmelCase__       ,'w'       ,encoding='utf-8'				) as f:
								f.write(config.to_json_string()				)


if __name__ == "__main__":
					SCREAMING_SNAKE_CASE						:						Any					   =       argparse.ArgumentParser()
					# Required parameters
					parser.add_argument(
					    '''--gpt2_checkpoint_path''', default=None, type=str, required=True, help='''Path to the TensorFlow checkpoint path.'''
					)
					parser.add_argument(
					    '''--pytorch_dump_folder_path''', default=None, type=str, required=True, help='''Path to the output PyTorch model.'''
					)
					parser.add_argument(
					    '''--gpt2_config_file''',
					    default='''''',
					    type=str,
					    help=(
					        '''An optional config json file corresponding to the pre-trained OpenAI model. \n'''
					        '''This specifies the model architecture.'''
					    ),
					)
					SCREAMING_SNAKE_CASE						:						int					   =       parser.parse_args()
					convert_gpta_checkpoint_to_pytorch(args.gpta_checkpoint_path, args.gpta_config_file, args.pytorch_dump_folder_path)










"""simple docstring"""






from ..utils import DummyObject, requires_backends





class       snake_case_       (    metaclass=_lowerCamelCase       ):



	"""simple docstring"""

	SCREAMING_SNAKE_CASE_:							List[str]   			=					["""note_seq"""]


	def __init__(      self  ,					*__a  ,					**__a						):


					"""simple docstring"""

					requires_backends(self  ,					['note_seq']						)


	@classmethod
	def       _UpperCAmelCase						(      cls  ,					*__a  ,					**__a						):


					"""simple docstring"""

					requires_backends(cls  ,					['note_seq']						)






	@classmethod
	def       _UpperCAmelCase						(      cls  ,					*__a  ,					**__a						):


					"""simple docstring"""

					requires_backends(cls  ,					['note_seq']						)


