



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


UpperCAmelCase__			:   int      			=    logging.get_logger(__name__)

UpperCAmelCase__			:   Union[str, Any]      			=    {
    'MCG-NJU/videomae-base': 'https://huggingface.co/MCG-NJU/videomae-base/resolve/main/config.json',
}





class 							lowerCAmelCase_		(		lowercase_     ):
		SCREAMING_SNAKE_CASE_       :			int					       =	"""videomae"""







		def __init__(    self  :   Optional[Any]       ,		UpperCAmelCase_  :   List[str]=224       ,		UpperCAmelCase_  :   Union[str, Any]=16       ,		UpperCAmelCase_  :   Any=3       ,		UpperCAmelCase_  :   Union[str, Any]=16       ,		UpperCAmelCase_  :   Any=2       ,		UpperCAmelCase_  :   Optional[Any]=768       ,		UpperCAmelCase_  :   Tuple=12       ,		UpperCAmelCase_  :   str=12       ,		UpperCAmelCase_  :   Any=3072       ,		UpperCAmelCase_  :   List[str]="gelu"       ,		UpperCAmelCase_  :   str=0.0       ,		UpperCAmelCase_  :   Any=0.0       ,		UpperCAmelCase_  :   List[str]=0.02       ,		UpperCAmelCase_  :   Optional[Any]=1E-12       ,		UpperCAmelCase_  :   List[str]=True       ,		UpperCAmelCase_  :   str=True       ,		UpperCAmelCase_  :   int=6       ,		UpperCAmelCase_  :   Union[str, Any]=384       ,		UpperCAmelCase_  :   Tuple=4       ,		UpperCAmelCase_  :   List[str]=1536       ,		UpperCAmelCase_  :   Dict=True       ,		**UpperCAmelCase_  :   str       ,		)       ->		Dict:


						'''simple docstring'''







						super().__init__(**UpperCAmelCase_					)

						_UpperCAmelCase						:  Tuple     					=	image_size
						_UpperCAmelCase						:  int     					=	patch_size
						_UpperCAmelCase						:  Optional[Any]     					=	num_channels
						_UpperCAmelCase						:  List[Any]     					=	num_frames
						_UpperCAmelCase						:  int     					=	tubelet_size

						_UpperCAmelCase						:  Optional[Any]     					=	hidden_size
						_UpperCAmelCase						:  Optional[int]     					=	num_hidden_layers
						_UpperCAmelCase						:  List[Any]     					=	num_attention_heads
						_UpperCAmelCase						:  Optional[Any]     					=	intermediate_size
						_UpperCAmelCase						:  str     					=	hidden_act
						_UpperCAmelCase						:  int     					=	hidden_dropout_prob
						_UpperCAmelCase						:  Union[str, Any]     					=	attention_probs_dropout_prob
						_UpperCAmelCase						:  int     					=	initializer_range
						_UpperCAmelCase						:  Dict     					=	layer_norm_eps
						_UpperCAmelCase						:  Union[str, Any]     					=	qkv_bias
						_UpperCAmelCase						:  Optional[int]     					=	use_mean_pooling

						_UpperCAmelCase						:  Union[str, Any]     					=	decoder_num_attention_heads
						_UpperCAmelCase						:  Optional[int]     					=	decoder_hidden_size
						_UpperCAmelCase						:  Union[str, Any]     					=	decoder_num_hidden_layers
						_UpperCAmelCase						:  List[Any]     					=	decoder_intermediate_size
						_UpperCAmelCase						:  List[Any]     					=	norm_pix_loss





from typing import TYPE_CHECKING

# rely on isort to merge the imports
from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_sentencepiece_available, is_torch_available


UpperCAmelCase__			:   Optional[int]      			=    {
    'configuration_ernie_m': ['ERNIE_M_PRETRAINED_CONFIG_ARCHIVE_MAP', 'ErnieMConfig'],
}

try:
					if not is_sentencepiece_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					UpperCAmelCase__			:   List[Any]      			=    ['ErnieMTokenizer']

try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					UpperCAmelCase__			:   Dict      			=    [
					    'ERNIE_M_PRETRAINED_MODEL_ARCHIVE_LIST',
					    'ErnieMForMultipleChoice',
					    'ErnieMForQuestionAnswering',
					    'ErnieMForSequenceClassification',
					    'ErnieMForTokenClassification',
					    'ErnieMModel',
					    'ErnieMPreTrainedModel',
					    'ErnieMForInformationExtraction',
					]


if TYPE_CHECKING:
					from .configuration_ernie_m import ERNIE_M_PRETRAINED_CONFIG_ARCHIVE_MAP, ErnieMConfig

					try:
										if not is_sentencepiece_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .tokenization_ernie_m import ErnieMTokenizer

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_ernie_m import (
										    ERNIE_M_PRETRAINED_MODEL_ARCHIVE_LIST,
										    ErnieMForInformationExtraction,
										    ErnieMForMultipleChoice,
										    ErnieMForQuestionAnswering,
										    ErnieMForSequenceClassification,
										    ErnieMForTokenClassification,
										    ErnieMModel,
										    ErnieMPreTrainedModel,
										)


else:
					import sys

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