



"""simple docstring"""





from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tf_available, is_torch_available


A   =       {
    """configuration_data2vec_audio""": ["""DATA2VEC_AUDIO_PRETRAINED_CONFIG_ARCHIVE_MAP""", """Data2VecAudioConfig"""],
    """configuration_data2vec_text""": [
        """DATA2VEC_TEXT_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """Data2VecTextConfig""",
        """Data2VecTextOnnxConfig""",
    ],
    """configuration_data2vec_vision""": [
        """DATA2VEC_VISION_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """Data2VecVisionConfig""",
        """Data2VecVisionOnnxConfig""",
    ],
}

try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					A   =       [
					    """DATA2VEC_AUDIO_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """Data2VecAudioForAudioFrameClassification""",
					    """Data2VecAudioForCTC""",
					    """Data2VecAudioForSequenceClassification""",
					    """Data2VecAudioForXVector""",
					    """Data2VecAudioModel""",
					    """Data2VecAudioPreTrainedModel""",
					]
					A   =       [
					    """DATA2VEC_TEXT_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """Data2VecTextForCausalLM""",
					    """Data2VecTextForMaskedLM""",
					    """Data2VecTextForMultipleChoice""",
					    """Data2VecTextForQuestionAnswering""",
					    """Data2VecTextForSequenceClassification""",
					    """Data2VecTextForTokenClassification""",
					    """Data2VecTextModel""",
					    """Data2VecTextPreTrainedModel""",
					]
					A   =       [
					    """DATA2VEC_VISION_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """Data2VecVisionForImageClassification""",
					    """Data2VecVisionForMaskedImageModeling""",
					    """Data2VecVisionForSemanticSegmentation""",
					    """Data2VecVisionModel""",
					    """Data2VecVisionPreTrainedModel""",
					]

if is_tf_available():
					A   =       [
					    """TFData2VecVisionForImageClassification""",
					    """TFData2VecVisionForSemanticSegmentation""",
					    """TFData2VecVisionModel""",
					    """TFData2VecVisionPreTrainedModel""",
					]

if TYPE_CHECKING:
					from .configuration_dataavec_audio import DATA2VEC_AUDIO_PRETRAINED_CONFIG_ARCHIVE_MAP, DataaVecAudioConfig
					from .configuration_dataavec_text import (
					    DATA2VEC_TEXT_PRETRAINED_CONFIG_ARCHIVE_MAP,
					    DataaVecTextConfig,
					    DataaVecTextOnnxConfig,
					)
					from .configuration_dataavec_vision import (
					    DATA2VEC_VISION_PRETRAINED_CONFIG_ARCHIVE_MAP,
					    DataaVecVisionConfig,
					    DataaVecVisionOnnxConfig,
					)

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_dataavec_audio import (
										    DATA2VEC_AUDIO_PRETRAINED_MODEL_ARCHIVE_LIST,
										    DataaVecAudioForAudioFrameClassification,
										    DataaVecAudioForCTC,
										    DataaVecAudioForSequenceClassification,
										    DataaVecAudioForXVector,
										    DataaVecAudioModel,
										    DataaVecAudioPreTrainedModel,
										)
										from .modeling_dataavec_text import (
										    DATA2VEC_TEXT_PRETRAINED_MODEL_ARCHIVE_LIST,
										    DataaVecTextForCausalLM,
										    DataaVecTextForMaskedLM,
										    DataaVecTextForMultipleChoice,
										    DataaVecTextForQuestionAnswering,
										    DataaVecTextForSequenceClassification,
										    DataaVecTextForTokenClassification,
										    DataaVecTextModel,
										    DataaVecTextPreTrainedModel,
										)
										from .modeling_dataavec_vision import (
										    DATA2VEC_VISION_PRETRAINED_MODEL_ARCHIVE_LIST,
										    DataaVecVisionForImageClassification,
										    DataaVecVisionForMaskedImageModeling,
										    DataaVecVisionForSemanticSegmentation,
										    DataaVecVisionModel,
										    DataaVecVisionPreTrainedModel,
										)
					if is_tf_available():
										from .modeling_tf_dataavec_vision import (
										    TFDataaVecVisionForImageClassification,
										    TFDataaVecVisionForSemanticSegmentation,
										    TFDataaVecVisionModel,
										    TFDataaVecVisionPreTrainedModel,
										)

else:
					import sys

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








"""simple docstring"""





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


A   =       logging.get_logger(__name__)

A   =       {
    """bigcode/gpt_bigcode-santacoder""": """https://huggingface.co/bigcode/gpt_bigcode-santacoder/resolve/main/config.json""",
}



class      a__				(	__magic_name__   ):
			lowercase_    =	"gpt_bigcode"
			lowercase_    =	["past_key_values"]
			lowercase_    =	{
			    "hidden_size": "n_embd",
			    "max_position_embeddings": "n_positions",
			    "num_attention_heads": "n_head",
			    "num_hidden_layers": "n_layer",
			}


			def __init__(      self      :    Any      ,  UpperCamelCase_      :    Tuple=50257      ,  UpperCamelCase_      :    Dict=1024      ,  UpperCamelCase_      :    Optional[Any]=768      ,  UpperCamelCase_      :    Optional[Any]=12      ,  UpperCamelCase_      :    Any=12      ,  UpperCamelCase_      :    Optional[int]=None      ,  UpperCamelCase_      :    List[Any]="gelu_pytorch_tanh"      ,  UpperCamelCase_      :    Optional[Any]=0.1      ,  UpperCamelCase_      :    Union[str, Any]=0.1      ,  UpperCamelCase_      :    Tuple=0.1      ,  UpperCamelCase_      :    Tuple=1e-5      ,  UpperCamelCase_      :    List[str]=0.02      ,  UpperCamelCase_      :    Dict=True      ,  UpperCamelCase_      :    Optional[int]=True      ,  UpperCamelCase_      :    str=50256      ,  UpperCamelCase_      :    Union[str, Any]=50256      ,  UpperCamelCase_      :    Dict=True      ,  UpperCamelCase_      :    List[str]=True      ,  UpperCamelCase_      :    Union[str, Any]=True      ,  **UpperCamelCase_      :    Union[str, Any]      ,  ):


						"""simple docstring"""




						__UpperCAmelCase	: Tuple		=					vocab_size
						__UpperCAmelCase	: Optional[int]		=					n_positions
						__UpperCAmelCase	: Tuple		=					n_embd
						__UpperCAmelCase	: str		=					n_layer
						__UpperCAmelCase	: Dict		=					n_head
						__UpperCAmelCase	: Optional[Any]		=					n_inner
						__UpperCAmelCase	: Optional[Any]		=					activation_function
						__UpperCAmelCase	: List[str]		=					resid_pdrop
						__UpperCAmelCase	: List[Any]		=					embd_pdrop
						__UpperCAmelCase	: Optional[Any]		=					attn_pdrop
						__UpperCAmelCase	: Dict		=					layer_norm_epsilon
						__UpperCAmelCase	: List[str]		=					initializer_range
						__UpperCAmelCase	: int		=					scale_attn_weights
						__UpperCAmelCase	: Tuple		=					use_cache
						__UpperCAmelCase	: List[Any]		=					attention_softmax_in_fpaa
						__UpperCAmelCase	: Any		=					scale_attention_softmax_in_fpaa
						__UpperCAmelCase	: str		=					multi_query

						__UpperCAmelCase	: int		=					bos_token_id
						__UpperCAmelCase	: str		=					eos_token_id

						super().__init__(bos_token_id=UpperCamelCase_      ,  eos_token_id=UpperCamelCase_      ,  **UpperCamelCase_)


