






import argparse
import json

from transformers import GPTNeoConfig, GPTNeoForCausalLM, load_tf_weights_in_gpt_neo
from transformers.utils import logging


logging.set_verbosity_info()


def __A					(   __lowerCAmelCase				,	__lowerCAmelCase				,	__lowerCAmelCase			)->						Any:





						"""simple docstring"""



						_UpperCAmelCase             =    json.load(open(__lowerCAmelCase				,	'r'			)			)
						_UpperCAmelCase             =    GPTNeoConfig(
						    hidden_size=config_json['n_embd']				,	num_layers=config_json['n_layer']				,	num_heads=config_json['n_head']				,	attention_types=config_json['attention_types']				,	max_position_embeddings=config_json['n_positions']				,	resid_dropout=config_json['res_dropout']				,	embed_dropout=config_json['embed_dropout']				,	attention_dropout=config_json['attn_dropout']				,	)
						print(F"""Building PyTorch model from configuration: {config}"""			)
						_UpperCAmelCase             =    GPTNeoForCausalLM(__lowerCAmelCase			)

						# Load weights from tf checkpoint
						load_tf_weights_in_gpt_neo(__lowerCAmelCase				,	__lowerCAmelCase				,	__lowerCAmelCase			)

						# Save pytorch-model
						print(F"""Save PyTorch model to {pytorch_dump_path}"""			)
						model.save_pretrained(__lowerCAmelCase			)


if __name__ == "__main__":
		_a   			=						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 mesh-tf model. \n'''
		        '''This specifies the model architecture.'''
		    ),
		)
		parser.add_argument(
		    '''--pytorch_dump_path''', default=None, type=str, required=True, help='''Path to the output PyTorch model.'''
		)
		_a   			=						parser.parse_args()
		convert_tf_checkpoint_to_pytorch(args.tf_checkpoint_path, args.config_file, args.pytorch_dump_path)








from itertools import combinations_with_replacement


def __A					(   __lowerCAmelCase = 100			)->						int:





						"""simple docstring"""



						_UpperCAmelCase             =    [*list(range(1				,	21			)			), 25]
						_UpperCAmelCase             =    [2 * x for x in range(1				,	21			)] + [50]
						_UpperCAmelCase             =    [3 * x for x in range(1				,	21			)]
						_UpperCAmelCase             =    singles + doubles + triples + [0]

						_UpperCAmelCase             =    0
						_UpperCAmelCase             =    42
						_UpperCAmelCase             =    42
						_UpperCAmelCase             =    42
						_UpperCAmelCase             =    42

						for double in doubles:
												for throwa, throwa in combinations_with_replacement(__lowerCAmelCase				,	2			):
																		_UpperCAmelCase             =    double + throwa + throwa
																		if checkout_total < limit:
																								num_checkouts += 1

						return num_checkouts


if __name__ == "__main__":
		print(F'''{solution() = }''')
