





'''simple docstring'''






from typing import TYPE_CHECKING

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


__UpperCamelCase					    =	{
    "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:
	__UpperCamelCase					    =	[
	    "DATA2VEC_AUDIO_PRETRAINED_MODEL_ARCHIVE_LIST",
	    "Data2VecAudioForAudioFrameClassification",
	    "Data2VecAudioForCTC",
	    "Data2VecAudioForSequenceClassification",
	    "Data2VecAudioForXVector",
	    "Data2VecAudioModel",
	    "Data2VecAudioPreTrainedModel",
	]
	__UpperCamelCase					    =	[
	    "DATA2VEC_TEXT_PRETRAINED_MODEL_ARCHIVE_LIST",
	    "Data2VecTextForCausalLM",
	    "Data2VecTextForMaskedLM",
	    "Data2VecTextForMultipleChoice",
	    "Data2VecTextForQuestionAnswering",
	    "Data2VecTextForSequenceClassification",
	    "Data2VecTextForTokenClassification",
	    "Data2VecTextModel",
	    "Data2VecTextPreTrainedModel",
	]
	__UpperCamelCase					    =	[
	    "DATA2VEC_VISION_PRETRAINED_MODEL_ARCHIVE_LIST",
	    "Data2VecVisionForImageClassification",
	    "Data2VecVisionForMaskedImageModeling",
	    "Data2VecVisionForSemanticSegmentation",
	    "Data2VecVisionModel",
	    "Data2VecVisionPreTrainedModel",
	]

if is_tf_available():
	__UpperCamelCase					    =	[
	    "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

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







'''simple docstring'''





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


A__    :   Optional[Any]           =					logging.get_logger(__name__)

A__    :   List[str]           =					{
    '''microsoft/cvt-13''': '''https://huggingface.co/microsoft/cvt-13/resolve/main/config.json''',
    # See all Cvt models at https://huggingface.co/models?filter=cvt
}



class  snake_case__						(    SCREAMING_SNAKE_CASE_				):
 A__				= '''cvt'''
 def __init__(   self						:							Optional[Any]      ,     __a						:							Union[str, Any]=3      ,     __a						:							List[Any]=[7, 3, 3]      ,     __a						:							Optional[int]=[4, 2, 2]      ,     __a						:							Dict=[2, 1, 1]      ,     __a						:							Union[str, Any]=[64, 192, 384]      ,     __a						:							int=[1, 3, 6]      ,     __a						:							List[str]=[1, 2, 10]      ,     __a						:							Optional[Any]=[4.0, 4.0, 4.0]      ,     __a						:							Any=[0.0, 0.0, 0.0]      ,     __a						:							List[str]=[0.0, 0.0, 0.0]      ,     __a						:							List[Any]=[0.0, 0.0, 0.1]      ,     __a						:							List[str]=[True, True, True]      ,     __a						:							int=[False, False, True]      ,     __a						:							Dict=["dw_bn", "dw_bn", "dw_bn"]      ,     __a						:							List[str]=[3, 3, 3]      ,     __a						:							Union[str, Any]=[1, 1, 1]      ,     __a						:							Optional[int]=[2, 2, 2]      ,     __a						:							Optional[Any]=[1, 1, 1]      ,     __a						:							List[str]=[1, 1, 1]      ,     __a						:							List[str]=0.0_2      ,     __a						:							List[str]=1e-12      ,     **__a						:							List[str]      ,     )      ->   Dict:







       '''simple docstring'''
       super().__init__(**__a  )
       __snake_case :   int													=    num_channels
       __snake_case :   Union[str, Any]													=    patch_sizes
       __snake_case :   Any													=    patch_stride
       __snake_case :   List[str]													=    patch_padding
       __snake_case :   Optional[Any]													=    embed_dim
       __snake_case :   Union[str, Any]													=    num_heads
       __snake_case :   Dict													=    depth
       __snake_case :   Optional[Any]													=    mlp_ratio
       __snake_case :   List[str]													=    attention_drop_rate
       __snake_case :   Optional[int]													=    drop_rate
       __snake_case :   Optional[int]													=    drop_path_rate
       __snake_case :   Any													=    qkv_bias
       __snake_case :   int													=    cls_token
       __snake_case :   Optional[int]													=    qkv_projection_method
       __snake_case :   List[Any]													=    kernel_qkv
       __snake_case :   List[Any]													=    padding_kv
       __snake_case :   int													=    stride_kv
       __snake_case :   List[str]													=    padding_q
       __snake_case :   Dict													=    stride_q
       __snake_case :   Tuple													=    initializer_range
       __snake_case :   List[Any]													=    layer_norm_eps



