




import argparse

import torch

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


logging.set_verbosity_info()







def      _a				(						SCREAMING_SNAKE_CASE_							:    str				,				SCREAMING_SNAKE_CASE_							:    Any				,				SCREAMING_SNAKE_CASE_							:    Union[str, Any]					):
					# Initialise PyTorch model
					__lowerCAmelCase           =	AlbertConfig.from_json_file(SCREAMING_SNAKE_CASE_					)
					print(F"""Building PyTorch model from configuration: {config}"""					)
					__lowerCAmelCase           =	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__":
					UpperCamelCase__         =      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."""
					)
					UpperCamelCase__         =      parser.parse_args()
					convert_tf_checkpoint_to_pytorch(args.tf_checkpoint_path, args.albert_config_file, args.pytorch_dump_path)










def      _a				(						SCREAMING_SNAKE_CASE_							:    List[Any]					):
					__lowerCAmelCase       ,							__lowerCAmelCase           =	[], []
					while len(SCREAMING_SNAKE_CASE_					) > 1:
										__lowerCAmelCase       ,							__lowerCAmelCase           =	min(SCREAMING_SNAKE_CASE_					), max(SCREAMING_SNAKE_CASE_					)
										start.append(SCREAMING_SNAKE_CASE_					)
										end.append(SCREAMING_SNAKE_CASE_					)
										collection.remove(SCREAMING_SNAKE_CASE_					)
										collection.remove(SCREAMING_SNAKE_CASE_					)
					end.reverse()
					return start + collection + end


if __name__ == "__main__":
					UpperCamelCase__         =      input("""Enter numbers separated by a comma:\n""").strip()
					UpperCamelCase__         =      [int(item) for item in user_input.split(""",""")]
					print(*merge_sort(unsorted), sep=""",""")




