

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 a(lowercase__			, lowercase__			, lowercase__	):





	'''simple docstring'''

	if gpta_config_file == "":
		snake_case_      		= GPTaConfig()
	else:
		snake_case_      		= GPTaConfig.from_json_file(UpperCAmelCase__	)
	snake_case_      		= GPTaModel(UpperCAmelCase__	)

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

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


if __name__ == "__main__":
		A    							=     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.'
		    ),
		)
		A    							=     parser.parse_args()
		convert_gpta_checkpoint_to_pytorch(args.gpta_checkpoint_path, args.gpta_config_file, args.pytorch_dump_folder_path)



from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_speech_available, is_torch_available


A											=     {
    'configuration_audio_spectrogram_transformer': [
        'AUDIO_SPECTROGRAM_TRANSFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'ASTConfig',
    ]
}

try:
		if not is_torch_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		A											=     [
		    'AUDIO_SPECTROGRAM_TRANSFORMER_PRETRAINED_MODEL_ARCHIVE_LIST',
		    'ASTForAudioClassification',
		    'ASTModel',
		    'ASTPreTrainedModel',
		]

try:
		if not is_speech_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		A											=     ['ASTFeatureExtractor']

if TYPE_CHECKING:
		from .configuration_audio_spectrogram_transformer import (
		    AUDIO_SPECTROGRAM_TRANSFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP,
		    ASTConfig,
		)

		try:
				if not is_torch_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_audio_spectrogram_transformer import (
				    AUDIO_SPECTROGRAM_TRANSFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
				    ASTForAudioClassification,
				    ASTModel,
				    ASTPreTrainedModel,
				)

		try:
				if not is_speech_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .feature_extraction_audio_spectrogram_transformer import ASTFeatureExtractor


else:
		import sys

		A											=     _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)
