




"""simple docstring"""






import argparse

import torch

from transformers import OpenAIGPTConfig, OpenAIGPTModel, load_tf_weights_in_openai_gpt
from transformers.utils import CONFIG_NAME, WEIGHTS_NAME, logging


logging.set_verbosity_info()







def 	_snake_case     (							lowercase__				,       lowercase__				,       lowercase__						):
				# Construct model
				if openai_config_file == "":
								_lowerCamelCase	:     Any       =       OpenAIGPTConfig()
				else:
								_lowerCamelCase	:     Optional[Any]       =       OpenAIGPTConfig.from_json_file(lowercase__						)
				_lowerCamelCase	:     Optional[Any]       =       OpenAIGPTModel(lowercase__						)

				# Load weights from numpy
				load_tf_weights_in_openai_gpt(lowercase__				,       lowercase__				,       lowercase__						)

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


if __name__ == "__main__":
			lowercase__			=		argparse.ArgumentParser()
			# Required parameters
			parser.add_argument(
			    """--openai_checkpoint_folder_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(
			    """--openai_config_file""",
			    default="""""",
			    type=str,
			    help=(
			        """An optional config json file corresponding to the pre-trained OpenAI model. \n"""
			        """This specifies the model architecture."""
			    ),
			)
			lowercase__			=		parser.parse_args()
			convert_openai_checkpoint_to_pytorch(
			    args.openai_checkpoint_folder_path, args.openai_config_file, args.pytorch_dump_folder_path
			)





"""simple docstring"""






import operator as op







def 	_snake_case     (							lowercase__						):
				_lowerCamelCase	:     Dict       =       []
				_lowerCamelCase	:     List[str]       =       lambda lowercase__				,       lowercase__						: int(x / y						)  # noqa: E731 integer division operation
				_lowerCamelCase	:     Optional[int]       =       {
				    '^': op.pow,
				    '*': op.mul,
				    '/': div,
				    '+': op.add,
				    '-': op.sub,
				}  # operators & their respective operation

				# print table header
				print('Symbol'.center(8						)				,       'Action'.center(12						)				,       'Stack'				,       sep=' | '						)
				print('-' * (30 + len(lowercase__						))						)

				for x in post_fix:
								if x.isdigit():  # if x in digit
												stack.append(lowercase__						)  # append x to stack
												# output in tabular format
												print(x.rjust(8						)				,       ('push(' + x + ')').ljust(12						)				,       ','.join(lowercase__						)				,       sep=' | '						)
								else:
												_lowerCamelCase	:     int       =       stack.pop()  # pop stack
												# output in tabular format
												print(''.rjust(8						)				,       ('pop(' + b + ')').ljust(12						)				,       ','.join(lowercase__						)				,       sep=' | '						)

												_lowerCamelCase	:     Tuple       =       stack.pop()  # pop stack
												# output in tabular format
												print(''.rjust(8						)				,       ('pop(' + a + ')').ljust(12						)				,       ','.join(lowercase__						)				,       sep=' | '						)

												stack.append(
												    str(opr[x](int(lowercase__						)				,       int(lowercase__						)						)						)						)  # evaluate the 2 values popped from stack & push result to stack
												# output in tabular format
												print(
												    x.rjust(8						)				,       ('push(' + a + x + b + ')').ljust(12						)				,       ','.join(lowercase__						)				,       sep=' | '				,       )

				return int(stack[0]						)


if __name__ == "__main__":
			lowercase__			=		input("""\n\nEnter a Postfix Equation (space separated) = """).split(""" """)
			print("""\n\tResult = """, solve(Postfix))