from typing import TYPE_CHECKING

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


lowerCAmelCase__	:  List[Any]						=  {
    '''configuration_gpt2''': ['''GPT2_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''GPT2Config''', '''GPT2OnnxConfig'''],
    '''tokenization_gpt2''': ['''GPT2Tokenizer'''],
}

try:
				if not is_tokenizers_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				lowerCAmelCase__	:  List[Any]						=  ['''GPT2TokenizerFast''']

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				lowerCAmelCase__	:  List[str]						=  [
				    '''GPT2_PRETRAINED_MODEL_ARCHIVE_LIST''',
				    '''GPT2DoubleHeadsModel''',
				    '''GPT2ForQuestionAnswering''',
				    '''GPT2ForSequenceClassification''',
				    '''GPT2ForTokenClassification''',
				    '''GPT2LMHeadModel''',
				    '''GPT2Model''',
				    '''GPT2PreTrainedModel''',
				    '''load_tf_weights_in_gpt2''',
				]

try:
				if not is_tf_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				lowerCAmelCase__	:  Tuple						=  [
				    '''TF_GPT2_PRETRAINED_MODEL_ARCHIVE_LIST''',
				    '''TFGPT2DoubleHeadsModel''',
				    '''TFGPT2ForSequenceClassification''',
				    '''TFGPT2LMHeadModel''',
				    '''TFGPT2MainLayer''',
				    '''TFGPT2Model''',
				    '''TFGPT2PreTrainedModel''',
				]

try:
				if not is_keras_nlp_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				lowerCAmelCase__	:  Any						=  ['''TFGPT2Tokenizer''']

try:
				if not is_flax_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				lowerCAmelCase__	:  Tuple						=  ['''FlaxGPT2LMHeadModel''', '''FlaxGPT2Model''', '''FlaxGPT2PreTrainedModel''']

if TYPE_CHECKING:
				from .configuration_gpta import GPT2_PRETRAINED_CONFIG_ARCHIVE_MAP, GPTaConfig, GPTaOnnxConfig
				from .tokenization_gpta import GPTaTokenizer

				try:
								if not is_tokenizers_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .tokenization_gpta_fast import GPTaTokenizerFast

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_gpta import (
								    GPT2_PRETRAINED_MODEL_ARCHIVE_LIST,
								    GPTaDoubleHeadsModel,
								    GPTaForQuestionAnswering,
								    GPTaForSequenceClassification,
								    GPTaForTokenClassification,
								    GPTaLMHeadModel,
								    GPTaModel,
								    GPTaPreTrainedModel,
								    load_tf_weights_in_gpta,
								)

				try:
								if not is_tf_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_tf_gpta import (
								    TF_GPT2_PRETRAINED_MODEL_ARCHIVE_LIST,
								    TFGPTaDoubleHeadsModel,
								    TFGPTaForSequenceClassification,
								    TFGPTaLMHeadModel,
								    TFGPTaMainLayer,
								    TFGPTaModel,
								    TFGPTaPreTrainedModel,
								)

				try:
								if not is_keras_nlp_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .tokenization_gpta_tf import TFGPTaTokenizer

				try:
								if not is_flax_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_flax_gpta import FlaxGPTaLMHeadModel, FlaxGPTaModel, FlaxGPTaPreTrainedModel

else:
				import sys

				lowerCAmelCase__	:  Any						=  _LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)









from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


__lowerCAmelCase 	=      {"configuration_visual_bert": ["VISUAL_BERT_PRETRAINED_CONFIG_ARCHIVE_MAP", "VisualBertConfig"]}

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				__lowerCAmelCase 	=      [
				    "VISUAL_BERT_PRETRAINED_MODEL_ARCHIVE_LIST",
				    "VisualBertForMultipleChoice",
				    "VisualBertForPreTraining",
				    "VisualBertForQuestionAnswering",
				    "VisualBertForRegionToPhraseAlignment",
				    "VisualBertForVisualReasoning",
				    "VisualBertLayer",
				    "VisualBertModel",
				    "VisualBertPreTrainedModel",
				]


if TYPE_CHECKING:
				from .configuration_visual_bert import VISUAL_BERT_PRETRAINED_CONFIG_ARCHIVE_MAP, VisualBertConfig

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_visual_bert import (
								    VISUAL_BERT_PRETRAINED_MODEL_ARCHIVE_LIST,
								    VisualBertForMultipleChoice,
								    VisualBertForPreTraining,
								    VisualBertForQuestionAnswering,
								    VisualBertForRegionToPhraseAlignment,
								    VisualBertForVisualReasoning,
								    VisualBertLayer,
								    VisualBertModel,
								    VisualBertPreTrainedModel,
								)


else:
				import sys

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





