

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        __lowercase    (  UpperCAmelCase__		,					UpperCAmelCase__		,					UpperCAmelCase__      ):

					"""simple docstring"""






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

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

					# Save pytorch-model
					__lowerCAmelCase					=							pytorch_dump_folder_path + '/' + WEIGHTS_NAME
					__lowerCAmelCase					=							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__":
		lowerCamelCase      				=     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.'''
		    ),
		)
		lowerCamelCase      				=     parser.parse_args()
		convert_gpta_checkpoint_to_pytorch(args.gpta_checkpoint_path, args.gpta_config_file, args.pytorch_dump_folder_path)









from graphs.minimum_spanning_tree_kruskal import kruskal


def        __lowercase    (  ):

					"""simple docstring"""






					__lowerCAmelCase					=							9
					__lowerCAmelCase					=							[
					    [0, 1, 4],
					    [0, 7, 8],
					    [1, 2, 8],
					    [7, 8, 7],
					    [7, 6, 1],
					    [2, 8, 2],
					    [8, 6, 6],
					    [2, 3, 7],
					    [2, 5, 4],
					    [6, 5, 2],
					    [3, 5, 14],
					    [3, 4, 9],
					    [5, 4, 10],
					    [1, 7, 11],
					]

					__lowerCAmelCase					=							kruskal(UpperCAmelCase__		,					UpperCAmelCase__      )

					__lowerCAmelCase					=							[
					    [7, 6, 1],
					    [2, 8, 2],
					    [6, 5, 2],
					    [0, 1, 4],
					    [2, 5, 4],
					    [2, 3, 7],
					    [0, 7, 8],
					    [3, 4, 9],
					]

					assert sorted(UpperCAmelCase__      ) == sorted(UpperCAmelCase__      )






