





import argparse

import torch

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


logging.set_verbosity_info()







def        __lowerCamelCase (							__a       :List[Any]   ,					__a       :List[Any]   ,					__a       :Any   )		->    Tuple:






		"""simple docstring"""

		A__  				=       LxmertConfig.from_json_file(lowerCamelCase_   )
		print(F'Building PyTorch model from configuration: {config}'   )
		A__  				=       LxmertForPreTraining(lowerCamelCase_   )

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

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


if __name__ == "__main__":
		A   : 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.'''
		)
		A   : Dict			=				parser.parse_args()
		convert_tf_checkpoint_to_pytorch(args.tf_checkpoint_path, args.config_file, args.pytorch_dump_path)










from ...utils import is_note_seq_available, is_transformers_available, is_torch_available
from ...utils import OptionalDependencyNotAvailable


try:
					if not (is_transformers_available() and is_torch_available()):
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					from ...utils.dummy_torch_and_transformers_objects import *  # noqa F403
else:
					from .notes_encoder import SpectrogramNotesEncoder
					from .continous_encoder import SpectrogramContEncoder
					from .pipeline_spectrogram_diffusion import (
					    SpectrogramContEncoder,
					    SpectrogramDiffusionPipeline,
					    TaFilmDecoder,
					)

try:
					if not (is_transformers_available() and is_torch_available() and is_note_seq_available()):
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					from ...utils.dummy_transformers_and_torch_and_note_seq_objects import *  # noqa F403
else:
					from .midi_utils import MidiProcessor



