



'''simple docstring'''







# Copyright 2023 The HuggingFace Team. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_torch_available,
    is_vision_available,
)


SCREAMING_SNAKE_CASE__     : Dict				=   {
    """configuration_tvlt""": ["""TVLT_PRETRAINED_CONFIG_ARCHIVE_MAP""", """TvltConfig"""],
    """feature_extraction_tvlt""": ["""TvltFeatureExtractor"""],
    """processing_tvlt""": ["""TvltProcessor"""],
}

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							SCREAMING_SNAKE_CASE__     : Tuple				=   [
							    """TVLT_PRETRAINED_MODEL_ARCHIVE_LIST""",
							    """TvltModel""",
							    """TvltForPreTraining""",
							    """TvltForAudioVisualClassification""",
							    """TvltPreTrainedModel""",
							]

try:
							if not is_vision_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							SCREAMING_SNAKE_CASE__     : List[str]				=   ["""TvltImageProcessor"""]


if TYPE_CHECKING:
							from .configuration_tvlt import TVLT_PRETRAINED_CONFIG_ARCHIVE_MAP, TvltConfig
							from .processing_tvlt import TvltProcessor
							from .feature_extraction_tvlt import TvltFeatureExtractor

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_tvlt import (
														    TVLT_PRETRAINED_MODEL_ARCHIVE_LIST,
														    TvltForAudioVisualClassification,
														    TvltForPreTraining,
														    TvltModel,
														    TvltPreTrainedModel,
														)

							try:
														if not is_vision_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .image_processing_tvlt import TvltImageProcessor


else:
							import sys

							SCREAMING_SNAKE_CASE__     : Any				=   _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)





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


A__       =			logging.get_logger(__name__)

A__       =			{
    """MCG-NJU/videomae-base""": """https://huggingface.co/MCG-NJU/videomae-base/resolve/main/config.json""",
}





class    __lowerCAmelCase					(	lowerCamelCase__			):
				__lowerCamelCase					=							'''videomae'''




				def __init__(				self		,							_snake_case=224		,							_snake_case=16		,							_snake_case=3		,							_snake_case=16		,							_snake_case=2		,							_snake_case=768		,							_snake_case=12		,							_snake_case=12		,							_snake_case=3072		,							_snake_case="gelu"		,							_snake_case=0.0		,							_snake_case=0.0		,							_snake_case=0.02		,							_snake_case=1e-12		,							_snake_case=True		,							_snake_case=True		,							_snake_case=6		,							_snake_case=384		,							_snake_case=4		,							_snake_case=1536		,							_snake_case=True		,							**_snake_case		,							):



									"""simple docstring"""





									super().__init__(**_snake_case						)

									_lowerCAmelCase         =       image_size
									_lowerCAmelCase         =       patch_size
									_lowerCAmelCase         =       num_channels
									_lowerCAmelCase         =       num_frames
									_lowerCAmelCase         =       tubelet_size

									_lowerCAmelCase         =       hidden_size
									_lowerCAmelCase         =       num_hidden_layers
									_lowerCAmelCase         =       num_attention_heads
									_lowerCAmelCase         =       intermediate_size
									_lowerCAmelCase         =       hidden_act
									_lowerCAmelCase         =       hidden_dropout_prob
									_lowerCAmelCase         =       attention_probs_dropout_prob
									_lowerCAmelCase         =       initializer_range
									_lowerCAmelCase         =       layer_norm_eps
									_lowerCAmelCase         =       qkv_bias
									_lowerCAmelCase         =       use_mean_pooling

									_lowerCAmelCase         =       decoder_num_attention_heads
									_lowerCAmelCase         =       decoder_hidden_size
									_lowerCAmelCase         =       decoder_num_hidden_layers
									_lowerCAmelCase         =       decoder_intermediate_size
									_lowerCAmelCase         =       norm_pix_loss



