






'''simple docstring'''





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


_UpperCamelCase		:		Tuple								=			logging.get_logger(__name__)

_UpperCamelCase		:		Tuple								=			{
    'dandelin/vilt-b32-mlm': 'https://huggingface.co/dandelin/vilt-b32-mlm/blob/main/config.json'
}


class 				snake_case__     (			UpperCamelCase):
					a_       =			"vilt"




					def __init__(       self       :						Optional[int]							,				_A       :						Optional[int]=3_05_22							,				_A       :						Tuple=2							,				_A       :						List[str]=2							,				_A       :						Union[str, Any]=40							,				_A       :						Dict=7_68							,				_A       :						List[str]=12							,				_A       :						Union[str, Any]=12							,				_A       :						List[str]=30_72							,				_A       :						Any="gelu"							,				_A       :						Union[str, Any]=0.0							,				_A       :						Tuple=0.0							,				_A       :						Any=0.02							,				_A       :						Optional[Any]=1e-12							,				_A       :						List[Any]=3_84							,				_A       :						int=32							,				_A       :						str=3							,				_A       :						str=True							,				_A       :						List[str]=-1							,				_A       :						int=False							,				_A       :						Optional[Any]=-1							,				**_A       :						Optional[int]							,				)  ->    int:
								super().__init__(tie_word_embeddings=_A							,				**_A     )

								UpperCAmelCase_     :   Tuple       =   vocab_size
								UpperCAmelCase_     :   Tuple       =   type_vocab_size
								UpperCAmelCase_     :   Optional[Any]       =   modality_type_vocab_size
								UpperCAmelCase_     :   Optional[int]       =   max_position_embeddings

								UpperCAmelCase_     :   List[str]       =   hidden_size
								UpperCAmelCase_     :   Any       =   num_hidden_layers
								UpperCAmelCase_     :   int       =   num_attention_heads
								UpperCAmelCase_     :   int       =   intermediate_size
								UpperCAmelCase_     :   Optional[int]       =   hidden_act
								UpperCAmelCase_     :   List[Any]       =   hidden_dropout_prob
								UpperCAmelCase_     :   List[str]       =   attention_probs_dropout_prob
								UpperCAmelCase_     :   Any       =   initializer_range
								UpperCAmelCase_     :   Tuple       =   layer_norm_eps

								UpperCAmelCase_     :   Optional[Any]       =   image_size
								UpperCAmelCase_     :   int       =   patch_size
								UpperCAmelCase_     :   str       =   num_channels
								UpperCAmelCase_     :   str       =   qkv_bias
								UpperCAmelCase_     :   Any       =   max_image_length
								UpperCAmelCase_     :   int       =   num_images














'''simple docstring'''





import unittest

import torch

from diffusers import DDIMScheduler, TextToVideoZeroPipeline
from diffusers.utils import load_pt, require_torch_gpu, slow

from ..test_pipelines_common import assert_mean_pixel_difference


@slow
@require_torch_gpu
class 				snake_case__     (			unittest.TestCase):




					def 						A     (       self       :						Optional[Any]     )  ->    List[str]:
								UpperCAmelCase_     :   Optional[Any]       =   '''runwayml/stable-diffusion-v1-5'''
								UpperCAmelCase_     :   Optional[int]       =   TextToVideoZeroPipeline.from_pretrained(_A							,				torch_dtype=torch.floataa     ).to('''cuda'''     )
								UpperCAmelCase_     :   Tuple       =   DDIMScheduler.from_config(pipe.scheduler.config     )
								UpperCAmelCase_     :   Tuple       =   torch.Generator(device='''cuda'''     ).manual_seed(0     )

								UpperCAmelCase_     :   List[Any]       =   '''A bear is playing a guitar on Times Square'''
								UpperCAmelCase_     :   List[Any]       =   pipe(prompt=_A							,				generator=_A     ).images

								UpperCAmelCase_     :   Any       =   load_pt(
								    '''https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/text-to-video/A bear is playing a guitar on Times Square.pt'''     )

								assert_mean_pixel_difference(_A							,				_A     )


