

'''simple docstring'''





from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_torch_available,
)


_lowerCAmelCase      :    Union[str, Any]						       =    {
    """configuration_align""": [
        """ALIGN_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """AlignConfig""",
        """AlignTextConfig""",
        """AlignVisionConfig""",
    ],
    """processing_align""": ["""AlignProcessor"""],
}

try:
						if not is_torch_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						_lowerCAmelCase      :    Optional[int]						       =    [
						    """ALIGN_PRETRAINED_MODEL_ARCHIVE_LIST""",
						    """AlignModel""",
						    """AlignPreTrainedModel""",
						    """AlignTextModel""",
						    """AlignVisionModel""",
						]

if TYPE_CHECKING:
						from .configuration_align import (
						    ALIGN_PRETRAINED_CONFIG_ARCHIVE_MAP,
						    AlignConfig,
						    AlignTextConfig,
						    AlignVisionConfig,
						)
						from .processing_align import AlignProcessor

						try:
												if not is_torch_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_align import (
												    ALIGN_PRETRAINED_MODEL_ARCHIVE_LIST,
												    AlignModel,
												    AlignPreTrainedModel,
												    AlignTextModel,
												    AlignVisionModel,
												)

else:
						import sys

						_lowerCAmelCase      :    int						       =    _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      :    List[Any]						       =    [
    "AutomaticSpeechRecognition",
    "AudioClassification",
    "ImageClassification",
    "LanguageModeling",
    "QuestionAnsweringExtractive",
    "Summarization",
    "TaskTemplate",
    "TextClassification",
]

_lowerCAmelCase      :    List[str]						       =    get_logger(__name__)


_lowerCAmelCase      :    Tuple						       =    {
    AutomaticSpeechRecognition.task: AutomaticSpeechRecognition,
    AudioClassification.task: AudioClassification,
    ImageClassification.task: ImageClassification,
    LanguageModeling.task: LanguageModeling,
    QuestionAnsweringExtractive.task: QuestionAnsweringExtractive,
    Summarization.task: Summarization,
    TextClassification.task: TextClassification,
}






def  UpperCamelCase_(							_snake_case     :						dict			):




			"""simple docstring"""






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






