





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


__UpperCAmelCase						=      logging.get_logger(__name__)

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

class 		__a							(	__UpperCamelCase      ):
       __snake_case						:   List[Any]      =		"""videomae"""



       def __init__(     self	:   Union[str, Any]					,			UpperCAmelCase	:   str=2_24					,			UpperCAmelCase	:   Union[str, Any]=16					,			UpperCAmelCase	:   List[Any]=3					,			UpperCAmelCase	:   str=16					,			UpperCAmelCase	:   Tuple=2					,			UpperCAmelCase	:   Tuple=7_68					,			UpperCAmelCase	:   Dict=12					,			UpperCAmelCase	:   Union[str, Any]=12					,			UpperCAmelCase	:   Dict=30_72					,			UpperCAmelCase	:   Any="gelu"					,			UpperCAmelCase	:   Dict=0.0					,			UpperCAmelCase	:   str=0.0					,			UpperCAmelCase	:   List[Any]=0.02					,			UpperCAmelCase	:   Any=1e-1_2					,			UpperCAmelCase	:   Tuple=True					,			UpperCAmelCase	:   Optional[Any]=True					,			UpperCAmelCase	:   Dict=6					,			UpperCAmelCase	:   List[Any]=3_84					,			UpperCAmelCase	:   int=4					,			UpperCAmelCase	:   List[str]=15_36					,			UpperCAmelCase	:   List[Any]=True					,			**UpperCAmelCase	:   Optional[Any]					,			):
           super().__init__(**UpperCAmelCase			)

           lowerCAmelCase_					:	Optional[Any]						=   image_size
           lowerCAmelCase_					:	List[str]						=   patch_size
           lowerCAmelCase_					:	Dict						=   num_channels
           lowerCAmelCase_					:	List[Any]						=   num_frames
           lowerCAmelCase_					:	List[Any]						=   tubelet_size

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

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









from ..utils import deprecate
from .attention_processor import (  # noqa: F401
    Attention,
    AttentionProcessor,
    AttnAddedKVProcessor,
    AttnProcessor2_0,
    LoRAAttnProcessor,
    LoRALinearLayer,
    LoRAXFormersAttnProcessor,
    SlicedAttnAddedKVProcessor,
    SlicedAttnProcessor,
    XFormersAttnProcessor,
)
from .attention_processor import AttnProcessor as AttnProcessorRename  # noqa: F401


deprecate(
    'cross_attention',
    '0.20.0',
    'Importing from cross_attention is deprecated. Please import from diffusers.models.attention_processor instead.',
    standard_warn=False,
)


__UpperCAmelCase						=      AttentionProcessor

class 		__a							(	__UpperCamelCase      ):



       def __init__(     self	:   List[Any]					,			*UpperCAmelCase	:   List[Any]					,			**UpperCAmelCase	:   Any			):
           lowerCAmelCase_					:	str						=   F'{self.__class__.__name__} is deprecated and will be removed in `0.20.0`. Please use `from diffusers.models.attention_processor import {"".join(self.__class__.__name__.split("Cross"			)			)} instead.'
           deprecate("""cross_attention"""					,			"""0.20.0"""					,			UpperCAmelCase					,			standard_warn=UpperCAmelCase			)
           super().__init__(*UpperCAmelCase					,			**UpperCAmelCase			)






class 		__a							(	__UpperCamelCase      ):



       def __init__(     self	:   Optional[Any]					,			*UpperCAmelCase	:   List[Any]					,			**UpperCAmelCase	:   List[str]			):
           lowerCAmelCase_					:	List[Any]						=   F'{self.__class__.__name__} is deprecated and will be removed in `0.20.0`. Please use `from diffusers.models.attention_processor import {"".join(self.__class__.__name__.split("Cross"			)			)} instead.'
           deprecate("""cross_attention"""					,			"""0.20.0"""					,			UpperCAmelCase					,			standard_warn=UpperCAmelCase			)
           super().__init__(*UpperCAmelCase					,			**UpperCAmelCase			)






class 		__a							(	__UpperCamelCase      ):



       def __init__(     self	:   List[str]					,			*UpperCAmelCase	:   str					,			**UpperCAmelCase	:   Union[str, Any]			):
           lowerCAmelCase_					:	Tuple						=   F'{self.__class__.__name__} is deprecated and will be removed in `0.20.0`. Please use `from diffusers.models.attention_processor import {"".join(self.__class__.__name__.split("Cross"			)			)} instead.'
           deprecate("""cross_attention"""					,			"""0.20.0"""					,			UpperCAmelCase					,			standard_warn=UpperCAmelCase			)
           super().__init__(*UpperCAmelCase					,			**UpperCAmelCase			)






class 		__a							(	__UpperCamelCase      ):



       def __init__(     self	:   Optional[int]					,			*UpperCAmelCase	:   Union[str, Any]					,			**UpperCAmelCase	:   Any			):
           lowerCAmelCase_					:	Tuple						=   F'{self.__class__.__name__} is deprecated and will be removed in `0.20.0`. Please use `from diffusers.models.attention_processor import {"".join(self.__class__.__name__.split("Cross"			)			)} instead.'
           deprecate("""cross_attention"""					,			"""0.20.0"""					,			UpperCAmelCase					,			standard_warn=UpperCAmelCase			)
           super().__init__(*UpperCAmelCase					,			**UpperCAmelCase			)






class 		__a							(	__UpperCamelCase      ):



       def __init__(     self	:   str					,			*UpperCAmelCase	:   Any					,			**UpperCAmelCase	:   List[Any]			):
           lowerCAmelCase_					:	Union[str, Any]						=   F'{self.__class__.__name__} is deprecated and will be removed in `0.20.0`. Please use `from diffusers.models.attention_processor import {"".join(self.__class__.__name__.split("Cross"			)			)} instead.'
           deprecate("""cross_attention"""					,			"""0.20.0"""					,			UpperCAmelCase					,			standard_warn=UpperCAmelCase			)
           super().__init__(*UpperCAmelCase					,			**UpperCAmelCase			)






class 		__a							(	__UpperCamelCase      ):



       def __init__(     self	:   List[str]					,			*UpperCAmelCase	:   Union[str, Any]					,			**UpperCAmelCase	:   Tuple			):
           lowerCAmelCase_					:	Tuple						=   F'{self.__class__.__name__} is deprecated and will be removed in `0.20.0`. Please use `from diffusers.models.attention_processor import {"".join(self.__class__.__name__.split("Cross"			)			)} instead.'
           deprecate("""cross_attention"""					,			"""0.20.0"""					,			UpperCAmelCase					,			standard_warn=UpperCAmelCase			)
           super().__init__(*UpperCAmelCase					,			**UpperCAmelCase			)






class 		__a							(	__UpperCamelCase      ):



       def __init__(     self	:   Dict					,			*UpperCAmelCase	:   int					,			**UpperCAmelCase	:   int			):
           lowerCAmelCase_					:	List[str]						=   F'{self.__class__.__name__} is deprecated and will be removed in `0.20.0`. Please use `from diffusers.models.attention_processor import {"".join(self.__class__.__name__.split("Cross"			)			)} instead.'
           deprecate("""cross_attention"""					,			"""0.20.0"""					,			UpperCAmelCase					,			standard_warn=UpperCAmelCase			)
           super().__init__(*UpperCAmelCase					,			**UpperCAmelCase			)






class 		__a							(	__UpperCamelCase      ):



       def __init__(     self	:   Optional[Any]					,			*UpperCAmelCase	:   Any					,			**UpperCAmelCase	:   int			):
           lowerCAmelCase_					:	Union[str, Any]						=   F'{self.__class__.__name__} is deprecated and will be removed in `0.20.0`. Please use `from diffusers.models.attention_processor import {"".join(self.__class__.__name__.split("Cross"			)			)} instead.'
           deprecate("""cross_attention"""					,			"""0.20.0"""					,			UpperCAmelCase					,			standard_warn=UpperCAmelCase			)
           super().__init__(*UpperCAmelCase					,			**UpperCAmelCase			)


