

from typing import TYPE_CHECKING

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


UpperCAmelCase__	:       List[str]			      =      {
    """configuration_openai""": ["""OPENAI_GPT_PRETRAINED_CONFIG_ARCHIVE_MAP""", """OpenAIGPTConfig"""],
    """tokenization_openai""": ["""OpenAIGPTTokenizer"""],
}

try:
		if not is_tokenizers_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		UpperCAmelCase__	:       List[str]			      =      ["""OpenAIGPTTokenizerFast"""]

try:
		if not is_torch_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		UpperCAmelCase__	:       Dict			      =      [
		    """OPENAI_GPT_PRETRAINED_MODEL_ARCHIVE_LIST""",
		    """OpenAIGPTDoubleHeadsModel""",
		    """OpenAIGPTForSequenceClassification""",
		    """OpenAIGPTLMHeadModel""",
		    """OpenAIGPTModel""",
		    """OpenAIGPTPreTrainedModel""",
		    """load_tf_weights_in_openai_gpt""",
		]

try:
		if not is_tf_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		UpperCAmelCase__	:       Tuple			      =      [
		    """TF_OPENAI_GPT_PRETRAINED_MODEL_ARCHIVE_LIST""",
		    """TFOpenAIGPTDoubleHeadsModel""",
		    """TFOpenAIGPTForSequenceClassification""",
		    """TFOpenAIGPTLMHeadModel""",
		    """TFOpenAIGPTMainLayer""",
		    """TFOpenAIGPTModel""",
		    """TFOpenAIGPTPreTrainedModel""",
		]


if TYPE_CHECKING:
		from .configuration_openai import OPENAI_GPT_PRETRAINED_CONFIG_ARCHIVE_MAP, OpenAIGPTConfig
		from .tokenization_openai import OpenAIGPTTokenizer

		try:
				if not is_tokenizers_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .tokenization_openai_fast import OpenAIGPTTokenizerFast

		try:
				if not is_torch_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_openai import (
				    OPENAI_GPT_PRETRAINED_MODEL_ARCHIVE_LIST,
				    OpenAIGPTDoubleHeadsModel,
				    OpenAIGPTForSequenceClassification,
				    OpenAIGPTLMHeadModel,
				    OpenAIGPTModel,
				    OpenAIGPTPreTrainedModel,
				    load_tf_weights_in_openai_gpt,
				)

		try:
				if not is_tf_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_tf_openai import (
				    TF_OPENAI_GPT_PRETRAINED_MODEL_ARCHIVE_LIST,
				    TFOpenAIGPTDoubleHeadsModel,
				    TFOpenAIGPTForSequenceClassification,
				    TFOpenAIGPTLMHeadModel,
				    TFOpenAIGPTMainLayer,
				    TFOpenAIGPTModel,
				    TFOpenAIGPTPreTrainedModel,
				)

else:
		import sys

		UpperCAmelCase__	:       str			      =      _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)







UpperCAmelCase__	:       Union[str, Any]			      =      """
# Installation de Transformers
! pip install transformers datasets
# Pour installer à partir du code source au lieu de la dernière version, commentez la commande ci-dessus et décommentez la suivante.
# ! pip install git+https://github.com/huggingface/transformers.git
"""

UpperCAmelCase__	:       List[Any]			      =      [{"""type""": """code""", """content""": INSTALL_CONTENT}]
UpperCAmelCase__	:       List[Any]			      =      {
    """{processor_class}""": """FakeProcessorClass""",
    """{model_class}""": """FakeModelClass""",
    """{object_class}""": """FakeObjectClass""",
}




