

# 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

from ...utils.dataclasses import (
    ComputeEnvironment,
    DistributedType,
    DynamoBackend,
    PrecisionType,
    SageMakerDistributedType,
)
from ..menu import BulletMenu


a		=[
    "EAGER",
    "AOT_EAGER",
    "INDUCTOR",
    "NVFUSER",
    "AOT_NVFUSER",
    "AOT_CUDAGRAPHS",
    "OFI",
    "FX2TRT",
    "ONNXRT",
    "IPEX",
]






def        SCREAMING_SNAKE_CASE__	(  lowerCamelCase__     ,			lowerCamelCase__=None     ,			lowerCamelCase__=None     ,			lowerCamelCase__=None      )  ->					List[Any]:
 __lowerCamelCase    :    Dict 	=			True
 while ask_again:
  __lowerCamelCase    :    Tuple 	=			input(lowerCamelCase_      )
  try:
   if default is not None and len(lowerCamelCase_      ) == 0:
    return default
   return convert_value(lowerCamelCase_      ) if convert_value is not None else result
  except Exception:
   if error_message is not None:
    print(lowerCamelCase_      )






def        SCREAMING_SNAKE_CASE__	(  lowerCamelCase__     ,			lowerCamelCase__=[]     ,			lowerCamelCase__=None     ,			lowerCamelCase__=0      )  ->					Union[str, Any]:
 __lowerCamelCase    :    Union[str, Any] 	=			BulletMenu(lowerCamelCase_     ,			lowerCamelCase_      )
 __lowerCamelCase    :    Any 	=			menu.run(default_choice=lowerCamelCase_      )
 return convert_value(lowerCamelCase_      ) if convert_value is not None else result






def        SCREAMING_SNAKE_CASE__	(  lowerCamelCase__      )  ->					Union[str, Any]:
 __lowerCamelCase    :    str 	=			int(lowerCamelCase_      )
 return ComputeEnvironment(['LOCAL_MACHINE', 'AMAZON_SAGEMAKER'][value]      )






def        SCREAMING_SNAKE_CASE__	(  lowerCamelCase__      )  ->					Any:
 __lowerCamelCase    :    Optional[int] 	=			int(lowerCamelCase_      )
 return DistributedType(['NO', 'MULTI_CPU', 'MULTI_XPU', 'MULTI_GPU', 'MULTI_NPU', 'TPU'][value]      )






def        SCREAMING_SNAKE_CASE__	(  lowerCamelCase__      )  ->					Dict:
 __lowerCamelCase    :    str 	=			int(lowerCamelCase_      )
 return DynamoBackend(DYNAMO_BACKENDS[value]      ).value






def        SCREAMING_SNAKE_CASE__	(  lowerCamelCase__      )  ->					Union[str, Any]:
 __lowerCamelCase    :    Union[str, Any] 	=			int(lowerCamelCase_      )
 return PrecisionType(['no', 'fp16', 'bf16', 'fp8'][value]      )






def        SCREAMING_SNAKE_CASE__	(  lowerCamelCase__      )  ->					List[str]:
 __lowerCamelCase    :    Any 	=			int(lowerCamelCase_      )
 return SageMakerDistributedType(['NO', 'DATA_PARALLEL', 'MODEL_PARALLEL'][value]      )






def        SCREAMING_SNAKE_CASE__	(  lowerCamelCase__      )  ->					str:
 return {"yes": True, "no": False}[value.lower()]






class 	A_		(	argparse.RawDescriptionHelpFormatter    ):
       def    lowerCAmelCase					(		self		:      str       ,SCREAMING_SNAKE_CASE__		:      str       ,SCREAMING_SNAKE_CASE__		:      Tuple       ,SCREAMING_SNAKE_CASE__		:      int       ,SCREAMING_SNAKE_CASE__		:      str):
        __lowerCamelCase    :    int 	=			super()._format_usage(SCREAMING_SNAKE_CASE__       ,SCREAMING_SNAKE_CASE__       ,SCREAMING_SNAKE_CASE__       ,SCREAMING_SNAKE_CASE__)
        __lowerCamelCase    :    Dict 	=			usage.replace('<command> [<args>] '       ,'')
        return usage







from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


a		={
    """configuration_roformer""": ["""ROFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP""", """RoFormerConfig""", """RoFormerOnnxConfig"""],
    """tokenization_roformer""": ["""RoFormerTokenizer"""],
}

try:
					if not is_tokenizers_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					a		=["""RoFormerTokenizerFast"""]

try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					a		=[
					    """ROFORMER_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """RoFormerForCausalLM""",
					    """RoFormerForMaskedLM""",
					    """RoFormerForMultipleChoice""",
					    """RoFormerForQuestionAnswering""",
					    """RoFormerForSequenceClassification""",
					    """RoFormerForTokenClassification""",
					    """RoFormerLayer""",
					    """RoFormerModel""",
					    """RoFormerPreTrainedModel""",
					    """load_tf_weights_in_roformer""",
					]


try:
					if not is_tf_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					a		=[
					    """TF_ROFORMER_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """TFRoFormerForCausalLM""",
					    """TFRoFormerForMaskedLM""",
					    """TFRoFormerForMultipleChoice""",
					    """TFRoFormerForQuestionAnswering""",
					    """TFRoFormerForSequenceClassification""",
					    """TFRoFormerForTokenClassification""",
					    """TFRoFormerLayer""",
					    """TFRoFormerModel""",
					    """TFRoFormerPreTrainedModel""",
					]


try:
					if not is_flax_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					a		=[
					    """FLAX_ROFORMER_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """FlaxRoFormerForMaskedLM""",
					    """FlaxRoFormerForMultipleChoice""",
					    """FlaxRoFormerForQuestionAnswering""",
					    """FlaxRoFormerForSequenceClassification""",
					    """FlaxRoFormerForTokenClassification""",
					    """FlaxRoFormerModel""",
					    """FlaxRoFormerPreTrainedModel""",
					]


if TYPE_CHECKING:
					from .configuration_roformer import ROFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP, RoFormerConfig, RoFormerOnnxConfig
					from .tokenization_roformer import RoFormerTokenizer

					try:
										if not is_tokenizers_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .tokenization_roformer_fast import RoFormerTokenizerFast

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_roformer import (
										    ROFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
										    RoFormerForCausalLM,
										    RoFormerForMaskedLM,
										    RoFormerForMultipleChoice,
										    RoFormerForQuestionAnswering,
										    RoFormerForSequenceClassification,
										    RoFormerForTokenClassification,
										    RoFormerLayer,
										    RoFormerModel,
										    RoFormerPreTrainedModel,
										    load_tf_weights_in_roformer,
										)

					try:
										if not is_tf_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_tf_roformer import (
										    TF_ROFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
										    TFRoFormerForCausalLM,
										    TFRoFormerForMaskedLM,
										    TFRoFormerForMultipleChoice,
										    TFRoFormerForQuestionAnswering,
										    TFRoFormerForSequenceClassification,
										    TFRoFormerForTokenClassification,
										    TFRoFormerLayer,
										    TFRoFormerModel,
										    TFRoFormerPreTrainedModel,
										)

					try:
										if not is_flax_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_flax_roformer import (
										    FLAX_ROFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
										    FlaxRoFormerForMaskedLM,
										    FlaxRoFormerForMultipleChoice,
										    FlaxRoFormerForQuestionAnswering,
										    FlaxRoFormerForSequenceClassification,
										    FlaxRoFormerForTokenClassification,
										    FlaxRoFormerModel,
										    FlaxRoFormerPreTrainedModel,
										)


else:
					import sys

					a		=_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)




