"""simple docstring"""





import argparse

import torch

from transformers import FunnelBaseModel, FunnelConfig, FunnelModel, load_tf_weights_in_funnel
from transformers.utils import logging


logging.set_verbosity_info()



def      lowerCamelCase_(__SCREAMING_SNAKE_CASE     ,	__SCREAMING_SNAKE_CASE     ,	__SCREAMING_SNAKE_CASE     ,	__SCREAMING_SNAKE_CASE  )->    List[Any]:
							# Initialise PyTorch model
							_SCREAMING_SNAKE_CASE		:						List[str]			  =    FunnelConfig.from_json_file(__SCREAMING_SNAKE_CASE  )
							print(F"""Building PyTorch model from configuration: {config}"""  )
							_SCREAMING_SNAKE_CASE		:						str			  =    FunnelBaseModel(__SCREAMING_SNAKE_CASE  ) if base_model else FunnelModel(__SCREAMING_SNAKE_CASE  )

							# Load weights from tf checkpoint
							load_tf_weights_in_funnel(__SCREAMING_SNAKE_CASE     ,	__SCREAMING_SNAKE_CASE     ,	__SCREAMING_SNAKE_CASE  )

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


if __name__ == "__main__":
			lowerCAmelCase_     =	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.'''
			)
			parser.add_argument(
			    '''--base_model''', action='''store_true''', help='''Whether you want just the base model (no decoder) or not.'''
			)
			lowerCAmelCase_     =	parser.parse_args()
			convert_tf_checkpoint_to_pytorch(
			    args.tf_checkpoint_path, args.config_file, args.pytorch_dump_path, args.base_model
			)



"""simple docstring"""





from decimal import Decimal, getcontext
from math import ceil, factorial



def      lowerCamelCase_(__SCREAMING_SNAKE_CASE  )->    str:

							if not isinstance(__SCREAMING_SNAKE_CASE     ,	__SCREAMING_SNAKE_CASE  ):
														raise TypeError("""Undefined for non-integers"""  )
							elif precision < 1:
														raise ValueError("""Undefined for non-natural numbers"""  )

							_SCREAMING_SNAKE_CASE		:						int			  =    precision
							_SCREAMING_SNAKE_CASE		:						Dict			  =    ceil(precision / 14  )
							_SCREAMING_SNAKE_CASE		:						int			  =    426_880 * Decimal(10_005  ).sqrt()
							_SCREAMING_SNAKE_CASE		:						Union[str, Any]			  =    1
							_SCREAMING_SNAKE_CASE		:						str			  =    13_591_409
							_SCREAMING_SNAKE_CASE		:						Tuple			  =    Decimal(__SCREAMING_SNAKE_CASE  )
							for k in range(1     ,	__SCREAMING_SNAKE_CASE  ):
														_SCREAMING_SNAKE_CASE		:						Tuple			  =    factorial(6 * k  ) // (factorial(3 * k  ) * factorial(__SCREAMING_SNAKE_CASE  ) ** 3)
														linear_term += 545_140_134
														exponential_term *= -262_537_412_640_768_000
														partial_sum += Decimal(multinomial_term * linear_term  ) / exponential_term
							return str(constant_term / partial_sum  )[:-1]


if __name__ == "__main__":
			lowerCAmelCase_     =	50
			print(F"The first {n} digits of pi is: {pi(n)}")


