



'''simple docstring'''






from typing import TYPE_CHECKING

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


A_				:					Any							=      {
    """configuration_ernie_m""": ["""ERNIE_M_PRETRAINED_CONFIG_ARCHIVE_MAP""", """ErnieMConfig"""],
}

try:
   if not is_sentencepiece_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   A_				:					List[str]							=      ["""ErnieMTokenizer"""]

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   A_				:					Optional[int]							=      [
       """ERNIE_M_PRETRAINED_MODEL_ARCHIVE_LIST""",
       """ErnieMForMultipleChoice""",
       """ErnieMForQuestionAnswering""",
       """ErnieMForSequenceClassification""",
       """ErnieMForTokenClassification""",
       """ErnieMModel""",
       """ErnieMPreTrainedModel""",
       """ErnieMForInformationExtraction""",
   ]


if TYPE_CHECKING:
   from .configuration_ernie_m import ERNIE_M_PRETRAINED_CONFIG_ARCHIVE_MAP, ErnieMConfig

   try:
      if not is_sentencepiece_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .tokenization_ernie_m import ErnieMTokenizer

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_ernie_m import (
          ERNIE_M_PRETRAINED_MODEL_ARCHIVE_LIST,
          ErnieMForInformationExtraction,
          ErnieMForMultipleChoice,
          ErnieMForQuestionAnswering,
          ErnieMForSequenceClassification,
          ErnieMForTokenClassification,
          ErnieMModel,
          ErnieMPreTrainedModel,
      )


else:
   import sys

   A_				:					Dict							=      _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)









from typing import Optional

from ..utils.logging import get_logger
from .audio_classificiation import AudioClassification
from .automatic_speech_recognition import AutomaticSpeechRecognition
from .base import TaskTemplate
from .image_classification import ImageClassification
from .language_modeling import LanguageModeling
from .question_answering import QuestionAnsweringExtractive
from .summarization import Summarization
from .text_classification import TextClassification


_lowerCAmelCase    : Any		= [
    "AutomaticSpeechRecognition",
    "AudioClassification",
    "ImageClassification",
    "LanguageModeling",
    "QuestionAnsweringExtractive",
    "Summarization",
    "TaskTemplate",
    "TextClassification",
]

_lowerCAmelCase    : Dict		= get_logger(__name__)


_lowerCAmelCase    : Optional[Any]		= {
    AutomaticSpeechRecognition.task: AutomaticSpeechRecognition,
    AudioClassification.task: AudioClassification,
    ImageClassification.task: ImageClassification,
    LanguageModeling.task: LanguageModeling,
    QuestionAnsweringExtractive.task: QuestionAnsweringExtractive,
    Summarization.task: Summarization,
    TextClassification.task: TextClassification,
}



def     lowerCAmelCase		(		_lowerCAmelCase				: dict						):




 """simple docstring"""







 UpperCAmelCase__							=    task_template_dict.get("task"						)
 if task_name is None:
  logger.warning(F'''Couldn\'t find template for task \'{task_name}\'. Available templates: {list(_lowerCAmelCase						)}'''						)
  return None
 UpperCAmelCase__							=    NAMEaTEMPLATE.get(_lowerCAmelCase						)
 return template.from_dict(_lowerCAmelCase						)





