"""simple docstring"""



from typing import TYPE_CHECKING

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


_UpperCamelCase         =		{"configuration_regnet": ["REGNET_PRETRAINED_CONFIG_ARCHIVE_MAP", "RegNetConfig"]}

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				_UpperCamelCase         =		[
				    "REGNET_PRETRAINED_MODEL_ARCHIVE_LIST",
				    "RegNetForImageClassification",
				    "RegNetModel",
				    "RegNetPreTrainedModel",
				]

try:
				if not is_tf_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				_UpperCamelCase         =		[
				    "TF_REGNET_PRETRAINED_MODEL_ARCHIVE_LIST",
				    "TFRegNetForImageClassification",
				    "TFRegNetModel",
				    "TFRegNetPreTrainedModel",
				]

try:
				if not is_flax_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				_UpperCamelCase         =		[
				    "FlaxRegNetForImageClassification",
				    "FlaxRegNetModel",
				    "FlaxRegNetPreTrainedModel",
				]


if TYPE_CHECKING:
				from .configuration_regnet import REGNET_PRETRAINED_CONFIG_ARCHIVE_MAP, RegNetConfig

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_regnet import (
								    REGNET_PRETRAINED_MODEL_ARCHIVE_LIST,
								    RegNetForImageClassification,
								    RegNetModel,
								    RegNetPreTrainedModel,
								)

				try:
								if not is_tf_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_tf_regnet import (
								    TF_REGNET_PRETRAINED_MODEL_ARCHIVE_LIST,
								    TFRegNetForImageClassification,
								    TFRegNetModel,
								    TFRegNetPreTrainedModel,
								)

				try:
								if not is_flax_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_flax_regnet import (
								    FlaxRegNetForImageClassification,
								    FlaxRegNetModel,
								    FlaxRegNetPreTrainedModel,
								)


else:
				import sys

				_UpperCamelCase         =		_LazyModule(__name__, globals()["__file__"], _import_structure)






"""simple docstring"""



from ...configuration_utils import PretrainedConfig
from ...utils import logging


_UpperCamelCase         =		logging.get_logger(__name__)

_UpperCamelCase         =		{
    "facebook/opt-125m": "https://huggingface.co/facebook/opt-125m/blob/main/config.json",
    "facebook/opt-350m": "https://huggingface.co/facebook/opt-350m/blob/main/config.json",
    "facebook/opt-1.3b": "https://huggingface.co/facebook/opt-1.3b/blob/main/config.json",
    "facebook/opt-2.7b": "https://huggingface.co/facebook/opt-2.7b/blob/main/config.json",
    "facebook/opt-6.7b": "https://huggingface.co/facebook/opt-6.7b/blob/main/config.json",
    "facebook/opt-13b": "https://huggingface.co/facebook/opt-13b/blob/main/config.json",
}
class 	__UpperCAmelCase						(__A    ):







			'''simple docstring'''
			_UpperCamelCase     :	Dict				    =							'opt'
			_UpperCamelCase     :	Optional[Any]				    =							['past_key_values']





			def __init__( self      ,			snake_case_=50_272      ,			snake_case_=768      ,			snake_case_=12      ,			snake_case_=3_072      ,			snake_case_=2_048      ,			snake_case_=True      ,			snake_case_=False      ,			snake_case_=None      ,			snake_case_=0.1      ,			snake_case_=0.0      ,			snake_case_=12      ,			snake_case_="relu"      ,			snake_case_=0.0      ,			snake_case_=0.02      ,			snake_case_=True      ,			snake_case_=1      ,			snake_case_=2      ,			snake_case_=2      ,			snake_case_=True      ,			snake_case_=True      ,			**snake_case_      ,			):







										'''simple docstring'''


										super().__init__(
										    pad_token_id=snake_case_      ,			bos_token_id=snake_case_      ,			eos_token_id=snake_case_      ,			**snake_case_      ,			)
										A__					:    int														= vocab_size
										A__					:    List[str]														= max_position_embeddings
										A__					:    str														= num_attention_heads
										A__					:    Dict														= word_embed_proj_dim if word_embed_proj_dim is not None else hidden_size
										A__					:    Optional[int]														= ffn_dim
										A__					:    Optional[int]														= hidden_size
										A__					:    int														= num_hidden_layers
										A__					:    str														= dropout
										A__					:    Tuple														= attention_dropout
										A__					:    Optional[Any]														= activation_function
										A__					:    Any														= init_std
										A__					:    Optional[int]														= layerdrop
										A__					:    Optional[int]														= use_cache
										A__					:    int														= do_layer_norm_before
										# We keep these variables at `True` for backward compatibility.
										A__					:    str														= enable_bias
										A__					:    List[str]														= layer_norm_elementwise_affine

										# Note that the only purpose of `_remove_final_layer_norm` is to keep backward compatibility
										# with checkpoints that have been fine-tuned before transformers v4.20.1
										# see https://github.com/facebookresearch/metaseq/pull/164
										A__					:    str														= _remove_final_layer_norm





