
"""simple docstring"""





# Copyright 2021 The HuggingFace Team. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import argparse
import os

from accelerate.utils import ComputeEnvironment

from .cluster import get_cluster_input
from .config_args import cache_dir, default_config_file, default_yaml_config_file, load_config_from_file  # noqa: F401
from .config_utils import _ask_field, _ask_options, _convert_compute_environment  # noqa: F401
from .sagemaker import get_sagemaker_input


UpperCamelCase_					:						Optional[int]				= '''Launches a series of prompts to create and save a `default_config.yaml` configuration file for your training system. Should always be ran first on your machine'''
def 							A_     ():

					'''simple docstring'''





					A_				 =						_ask_options(
					    "In which compute environment are you running?"				,   ["This machine", "AWS (Amazon SageMaker)"]				,   _convert_compute_environment				,   )
					if compute_environment == ComputeEnvironment.AMAZON_SAGEMAKER:
										A_				 =						get_sagemaker_input()
					else:
										A_				 =						get_cluster_input()
					return config
def 							A_     (__a=None				):

					'''simple docstring'''





					if subparsers is not None:
										A_				 =						subparsers.add_parser("config"				,   description=__a				)
					else:
										A_				 =						argparse.ArgumentParser("Accelerate config command"				,   description=__a				)

					parser.add_argument(
					    "--config_file"				,   default=__a				,   help=(
					        "The path to use to store the config file. Will default to a file named default_config.yaml in the cache "
					        "location, which is the content of the environment `HF_HOME` suffixed with 'accelerate', or if you don't have "
					        "such an environment variable, your cache directory ('~/.cache' or the content of `XDG_CACHE_HOME`) suffixed "
					        "with 'huggingface'."
					    )				,   )

					if subparsers is not None:
										parser.set_defaults(func=__a				)
					return parser
def 							A_     (__a				):

					'''simple docstring'''





					A_				 =						get_user_input()
					if args.config_file is not None:
										A_				 =						args.config_file
					else:
										if not os.path.isdir(__a				):
															os.makedirs(__a				)
										A_				 =						default_yaml_config_file

					if config_file.endswith(".json"				):
										config.to_json_file(__a				)
					else:
										config.to_yaml_file(__a				)
					print(f'accelerate configuration saved at {config_file}'				)
def 							A_     ():

					'''simple docstring'''





					A_				 =						config_command_parser()
					A_				 =						parser.parse_args()
					config_command(__a				)


if __name__ == "__main__":
		main()






"""simple docstring"""





from ...configuration_utils import PretrainedConfig
from ...utils import logging


UpperCamelCase_					:						Tuple				= logging.get_logger(__name__)

UpperCamelCase_					:						Optional[int]				= {
    '''microsoft/markuplm-base''': '''https://huggingface.co/microsoft/markuplm-base/resolve/main/config.json''',
    '''microsoft/markuplm-large''': '''https://huggingface.co/microsoft/markuplm-large/resolve/main/config.json''',
}



class __lowerCAmelCase				(					_lowercase      ):




			"""simple docstring"""







			snake_case	      =				"markuplm"




			def __init__(				self						:					Optional[Any]       ,   _snake_case						:					Dict=30_522       ,   _snake_case						:					str=768       ,   _snake_case						:					Tuple=12       ,   _snake_case						:					Union[str, Any]=12       ,   _snake_case						:					Union[str, Any]=3_072       ,   _snake_case						:					List[str]="gelu"       ,   _snake_case						:					List[str]=0.1       ,   _snake_case						:					Optional[Any]=0.1       ,   _snake_case						:					Dict=512       ,   _snake_case						:					Union[str, Any]=2       ,   _snake_case						:					Tuple=0.0_2       ,   _snake_case						:					Tuple=1e-12       ,   _snake_case						:					Tuple=0       ,   _snake_case						:					Tuple=0       ,   _snake_case						:					Optional[Any]=2       ,   _snake_case						:					int=256       ,   _snake_case						:					Dict=1_024       ,   _snake_case						:					List[str]=216       ,   _snake_case						:					Optional[int]=1_001       ,   _snake_case						:					Union[str, Any]=32       ,   _snake_case						:					List[str]=50       ,   _snake_case						:					str="absolute"       ,   _snake_case						:					Optional[Any]=True       ,   _snake_case						:					str=None       ,   **_snake_case						:					Optional[Any]       ,   )      -> Optional[Any]:







								"""simple docstring"""
								super().__init__(
								    pad_token_id=_snake_case       ,   bos_token_id=_snake_case       ,   eos_token_id=_snake_case       ,   **_snake_case       ,   )
								A_				 =						vocab_size
								A_				 =						hidden_size
								A_				 =						num_hidden_layers
								A_				 =						num_attention_heads
								A_				 =						hidden_act
								A_				 =						intermediate_size
								A_				 =						hidden_dropout_prob
								A_				 =						attention_probs_dropout_prob
								A_				 =						max_position_embeddings
								A_				 =						type_vocab_size
								A_				 =						initializer_range
								A_				 =						layer_norm_eps
								A_				 =						position_embedding_type
								A_				 =						use_cache
								A_				 =						classifier_dropout
								# additional properties
								A_				 =						max_depth
								A_				 =						max_xpath_tag_unit_embeddings
								A_				 =						max_xpath_subs_unit_embeddings
								A_				 =						tag_pad_id
								A_				 =						subs_pad_id
								A_				 =						xpath_unit_hidden_size




