


"""simple docstring"""






# Copyright 2023 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.
from typing import TYPE_CHECKING

# rely on isort to merge the imports
from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available, is_vision_available


UpperCamelCase__				:List[str]			   =	{
    """configuration_efficientnet""": [
        """EFFICIENTNET_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """EfficientNetConfig""",
        """EfficientNetOnnxConfig""",
    ]
}

try:
					if not is_vision_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					UpperCamelCase__				:Union[str, Any]			   =	["""EfficientNetImageProcessor"""]

try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					UpperCamelCase__				:Union[str, Any]			   =	[
					    """EFFICIENTNET_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """EfficientNetForImageClassification""",
					    """EfficientNetModel""",
					    """EfficientNetPreTrainedModel""",
					]

if TYPE_CHECKING:
					from .configuration_efficientnet import (
					    EFFICIENTNET_PRETRAINED_CONFIG_ARCHIVE_MAP,
					    EfficientNetConfig,
					    EfficientNetOnnxConfig,
					)

					try:
										if not is_vision_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .image_processing_efficientnet import EfficientNetImageProcessor

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_efficientnet import (
										    EFFICIENTNET_PRETRAINED_MODEL_ARCHIVE_LIST,
										    EfficientNetForImageClassification,
										    EfficientNetModel,
										    EfficientNetPreTrainedModel,
										)

else:
					import sys

					UpperCamelCase__				:Optional[Any]			   =	_LazyModule(__name__, globals()["""__file__"""], _import_structure)





"""simple docstring"""






import os
import sys

UpperCamelCase__				:Union[str, Any]			   =	os.path.join(os.path.dirname(__file__), """src""")
sys.path.append(SRC_DIR)


from transformers import (
    AutoConfig,
    AutoModel,
    AutoModelForCausalLM,
    AutoModelForMaskedLM,
    AutoModelForQuestionAnswering,
    AutoModelForSequenceClassification,
    AutoTokenizer,
    add_start_docstrings,
)


UpperCamelCase__				:List[Any]			   =	[
    """torch""",
    """numpy""",
    """tokenizers""",
    """filelock""",
    """requests""",
    """tqdm""",
    """regex""",
    """sentencepiece""",
    """sacremoses""",
    """importlib_metadata""",
    """huggingface_hub""",
]





@add_start_docstrings(AutoConfig.__doc__		)
def 				A_       ( *snake_case__       ,					**snake_case__		)					->  int:
			return AutoConfig.from_pretrained(*snake_case__       ,					**snake_case__		)





@add_start_docstrings(AutoTokenizer.__doc__		)
def 				A_       ( *snake_case__       ,					**snake_case__		)					->  int:
			return AutoTokenizer.from_pretrained(*snake_case__       ,					**snake_case__		)





@add_start_docstrings(AutoModel.__doc__		)
def 				A_       ( *snake_case__       ,					**snake_case__		)					->  Dict:
			return AutoModel.from_pretrained(*snake_case__       ,					**snake_case__		)





@add_start_docstrings(AutoModelForCausalLM.__doc__		)
def 				A_       ( *snake_case__       ,					**snake_case__		)					->  Dict:
			return AutoModelForCausalLM.from_pretrained(*snake_case__       ,					**snake_case__		)





@add_start_docstrings(AutoModelForMaskedLM.__doc__		)
def 				A_       ( *snake_case__       ,					**snake_case__		)					->  Dict:
			return AutoModelForMaskedLM.from_pretrained(*snake_case__       ,					**snake_case__		)





@add_start_docstrings(AutoModelForSequenceClassification.__doc__		)
def 				A_       ( *snake_case__       ,					**snake_case__		)					->  Dict:
			return AutoModelForSequenceClassification.from_pretrained(*snake_case__       ,					**snake_case__		)





@add_start_docstrings(AutoModelForQuestionAnswering.__doc__		)
def 				A_       ( *snake_case__       ,					**snake_case__		)					->  Union[str, Any]:
			return AutoModelForQuestionAnswering.from_pretrained(*snake_case__       ,					**snake_case__		)

