






'''simple docstring'''







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


UpperCamelCase     :   int	      =		logging.get_logger(__name__)

UpperCamelCase     :   Union[str, Any]	      =		{
    '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 		UpperCamelCase__     (a      ):




		'''simple docstring'''





		_UpperCamelCase						=       'cvt'






		def __init__(   self ,_lowerCAmelCase=3 ,_lowerCAmelCase=[7, 3, 3] ,_lowerCAmelCase=[4, 2, 2] ,_lowerCAmelCase=[2, 1, 1] ,_lowerCAmelCase=[64, 1_92, 3_84] ,_lowerCAmelCase=[1, 3, 6] ,_lowerCAmelCase=[1, 2, 10] ,_lowerCAmelCase=[4.0, 4.0, 4.0] ,_lowerCAmelCase=[0.0, 0.0, 0.0] ,_lowerCAmelCase=[0.0, 0.0, 0.0] ,_lowerCAmelCase=[0.0, 0.0, 0.1] ,_lowerCAmelCase=[True, True, True] ,_lowerCAmelCase=[False, False, True] ,_lowerCAmelCase=["dw_bn", "dw_bn", "dw_bn"] ,_lowerCAmelCase=[3, 3, 3] ,_lowerCAmelCase=[1, 1, 1] ,_lowerCAmelCase=[2, 2, 2] ,_lowerCAmelCase=[1, 1, 1] ,_lowerCAmelCase=[1, 1, 1] ,_lowerCAmelCase=0.02 ,_lowerCAmelCase=1E-12 ,**_lowerCAmelCase ,):
								super().__init__(**_lowerCAmelCase							)
								lowerCamelCase__								=	num_channels
								lowerCamelCase__								=	patch_sizes
								lowerCamelCase__								=	patch_stride
								lowerCamelCase__								=	patch_padding
								lowerCamelCase__								=	embed_dim
								lowerCamelCase__								=	num_heads
								lowerCamelCase__								=	depth
								lowerCamelCase__								=	mlp_ratio
								lowerCamelCase__								=	attention_drop_rate
								lowerCamelCase__								=	drop_rate
								lowerCamelCase__								=	drop_path_rate
								lowerCamelCase__								=	qkv_bias
								lowerCamelCase__								=	cls_token
								lowerCamelCase__								=	qkv_projection_method
								lowerCamelCase__								=	kernel_qkv
								lowerCamelCase__								=	padding_kv
								lowerCamelCase__								=	stride_kv
								lowerCamelCase__								=	padding_q
								lowerCamelCase__								=	stride_q
								lowerCamelCase__								=	initializer_range
								lowerCamelCase__								=	layer_norm_eps




from typing import TYPE_CHECKING

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


UpperCAmelCase_							:					Optional[Any]		 =   {
    '''configuration_wav2vec2''': ['''WAV_2_VEC_2_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''Wav2Vec2Config'''],
    '''feature_extraction_wav2vec2''': ['''Wav2Vec2FeatureExtractor'''],
    '''processing_wav2vec2''': ['''Wav2Vec2Processor'''],
    '''tokenization_wav2vec2''': ['''Wav2Vec2CTCTokenizer''', '''Wav2Vec2Tokenizer'''],
}


try:
			if not is_torch_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			UpperCAmelCase_							:					Optional[Any]		 =   [
			    '''WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST''',
			    '''Wav2Vec2ForAudioFrameClassification''',
			    '''Wav2Vec2ForCTC''',
			    '''Wav2Vec2ForMaskedLM''',
			    '''Wav2Vec2ForPreTraining''',
			    '''Wav2Vec2ForSequenceClassification''',
			    '''Wav2Vec2ForXVector''',
			    '''Wav2Vec2Model''',
			    '''Wav2Vec2PreTrainedModel''',
			]

try:
			if not is_tf_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			UpperCAmelCase_							:					List[Any]		 =   [
			    '''TF_WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST''',
			    '''TFWav2Vec2ForCTC''',
			    '''TFWav2Vec2Model''',
			    '''TFWav2Vec2PreTrainedModel''',
			    '''TFWav2Vec2ForSequenceClassification''',
			]

try:
			if not is_flax_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			UpperCAmelCase_							:					Dict		 =   [
			    '''FlaxWav2Vec2ForCTC''',
			    '''FlaxWav2Vec2ForPreTraining''',
			    '''FlaxWav2Vec2Model''',
			    '''FlaxWav2Vec2PreTrainedModel''',
			]


if TYPE_CHECKING:
			from .configuration_wavaveca import WAV_2_VEC_2_PRETRAINED_CONFIG_ARCHIVE_MAP, WavaVecaConfig
			from .feature_extraction_wavaveca import WavaVecaFeatureExtractor
			from .processing_wavaveca import WavaVecaProcessor
			from .tokenization_wavaveca import WavaVecaCTCTokenizer, WavaVecaTokenizer

			try:
						if not is_torch_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_wavaveca import (
						    WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST,
						    WavaVecaForAudioFrameClassification,
						    WavaVecaForCTC,
						    WavaVecaForMaskedLM,
						    WavaVecaForPreTraining,
						    WavaVecaForSequenceClassification,
						    WavaVecaForXVector,
						    WavaVecaModel,
						    WavaVecaPreTrainedModel,
						)

			try:
						if not is_tf_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_tf_wavaveca import (
						    TF_WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST,
						    TFWavaVecaForCTC,
						    TFWavaVecaForSequenceClassification,
						    TFWavaVecaModel,
						    TFWavaVecaPreTrainedModel,
						)

			try:
						if not is_flax_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_tf_wavaveca import (
						    FlaxWavaVecaForCTC,
						    FlaxWavaVecaForPreTraining,
						    FlaxWavaVecaModel,
						    FlaxWavaVecaPreTrainedModel,
						)


else:
			import sys

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





