"""simple docstring"""






def   a_						(					lowerCamelCase					,			lowerCamelCase       ):
				while b:
								UpperCAmelCase__      ,	UpperCAmelCase__             =							b, a % b
				return a



def   a_						(					lowerCamelCase					,			lowerCamelCase       ):
				return a if b == 0 else euclidean_gcd_recursive(lowerCamelCase					,			a % b       )



def   a_						(					):
				print(f'''euclidean_gcd(3, 5) = {euclidean_gcd(3					,			5       )}'''       )
				print(f'''euclidean_gcd(5, 3) = {euclidean_gcd(5					,			3       )}'''       )
				print(f'''euclidean_gcd(1, 3) = {euclidean_gcd(1					,			3       )}'''       )
				print(f'''euclidean_gcd(3, 6) = {euclidean_gcd(3					,			6       )}'''       )
				print(f'''euclidean_gcd(6, 3) = {euclidean_gcd(6					,			3       )}'''       )

				print(f'''euclidean_gcd_recursive(3, 5) = {euclidean_gcd_recursive(3					,			5       )}'''       )
				print(f'''euclidean_gcd_recursive(5, 3) = {euclidean_gcd_recursive(5					,			3       )}'''       )
				print(f'''euclidean_gcd_recursive(1, 3) = {euclidean_gcd_recursive(1					,			3       )}'''       )
				print(f'''euclidean_gcd_recursive(3, 6) = {euclidean_gcd_recursive(3					,			6       )}'''       )
				print(f'''euclidean_gcd_recursive(6, 3) = {euclidean_gcd_recursive(6					,			3       )}'''       )


if __name__ == "__main__":
						main()




import argparse

import torch

from ...utils import logging
from . import AlbertConfig, AlbertForPreTraining, load_tf_weights_in_albert


logging.set_verbosity_info()



def lowerCamelCase  (   SCREAMING_SNAKE_CASE  ,			SCREAMING_SNAKE_CASE  ,			SCREAMING_SNAKE_CASE	):
    '''simple docstring'''







    __UpperCamelCase     :List[Any]			  =		AlbertConfig.from_json_file(SCREAMING_SNAKE_CASE	)
    print(f"""Building PyTorch model from configuration: {config}"""	)
    __UpperCamelCase     :List[str]			  =		AlbertForPreTraining(SCREAMING_SNAKE_CASE	)

    # Load weights from tf checkpoint
    load_tf_weights_in_albert(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__":
    __lowercase							 =					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(
        '''--albert_config_file''',
        default=None,
        type=str,
        required=True,
        help=(
            '''The config json file corresponding to the pre-trained ALBERT 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.'''
    )
    __lowercase							 =					parser.parse_args()
    convert_tf_checkpoint_to_pytorch(args.tf_checkpoint_path, args.albert_config_file, args.pytorch_dump_path)





