code: 
  
  
  '''simple docstring'''
  
  import json
  import os
  import tempfile
  
  from transformers.testing_utils import check_json_file_has_correct_format, require_torch, require_vision
  from transformers.utils import is_torch_available, is_vision_available
  
  
  if is_torch_available():
  							import numpy as np
  							import torch
  
  if is_vision_available():
  							from PIL import Image
  
  
  
  
  
  def lowerCamelCase    (    lowerCAmelCase       :			Optional[Any]	,	lowerCAmelCase       :			Optional[int]=False	,	lowerCAmelCase       :			List[Any]=False	,	lowerCAmelCase       :			Dict=False	):
  
  
  
  
  
  	"""simple docstring"""
  
  
  
  
  
  
  
  	assert not (numpify and torchify), "You cannot specify both numpy and PyTorch tensors at the same time"
  
  	__magic_name__ :					Any  			=  []
  	for i in range(image_processor_tester.batch_size	):
  		if equal_resolution:
  			__magic_name__ :					Optional[Any]  			=  image_processor_tester.max_resolution
  		else:
  			# To avoid getting image width/height 0
  			__magic_name__ :					Union[str, Any]  			=  image_processor_tester.min_resolution
  			if getattr(lowerCAmelCase	,	'size_divisor'	,	lowerCAmelCase	):
  				# If `size_divisor` is defined, the image needs to have width/size >= `size_divisor`
  				__magic_name__ :					Any  			=  max(image_processor_tester.size_divisor	,	lowerCAmelCase	)
  			__magic_name__			,       __magic_name__ :					Union[str, Any]  			=  np.random.choice(np.arange(lowerCAmelCase	,	image_processor_tester.max_resolution	)	,	2	)
  		image_inputs.append(
  		    np.random.randint(255	,	size=(image_processor_tester.num_channels, width, height)	,	dtype=np.uinta	)	)
  
  	if not numpify and not torchify:
  		# PIL expects the channel dimension as last dimension
  		__magic_name__ :					Optional[int]  			=  [Image.fromarray(np.moveaxis(lowerCAmelCase	,	0	,	-1	)	) for image in image_inputs]
  
  	if torchify:
  		__magic_name__ :					str  			=  [torch.from_numpy(lowerCAmelCase	) for image in image_inputs]
  
  	return image_inputs
  
  
  
  
  
  def lowerCamelCase    (    lowerCAmelCase       :			int	,	lowerCAmelCase       :			int=10	,	lowerCAmelCase       :			Optional[Any]=10	,	lowerCAmelCase       :			Union[str, Any]=False	,	lowerCAmelCase       :			Tuple=False	):
  
  
  
  
  
  	"""simple docstring"""
  
  
  
  
  
  
  
  	__magic_name__ :					Union[str, Any]  			=  []
  	for i in range(image_processor_tester.num_frames	):
  		video.append(np.random.randint(255	,	size=(image_processor_tester.num_channels, width, height)	,	dtype=np.uinta	)	)
  
  	if not numpify and not torchify:
  		# PIL expects the channel dimension as last dimension
  		__magic_name__ :					Optional[int]  			=  [Image.fromarray(np.moveaxis(lowerCAmelCase	,	0	,	-1	)	) for frame in video]
  
  	if torchify:
  		__magic_name__ :					Optional[int]  			=  [torch.from_numpy(lowerCAmelCase	) for frame in video]
  
  	return video
  
  
  
  
  
  def lowerCamelCase    (    lowerCAmelCase       :			Optional[int]	,	lowerCAmelCase       :			Dict=False	,	lowerCAmelCase       :			Tuple=False	,	lowerCAmelCase       :			str=False	):
  
  
  
  
  
  	"""simple docstring"""
  
  
  
  
  
  
  
  	assert not (numpify and torchify), "You cannot specify both numpy and PyTorch tensors at the same time"
  
  	__magic_name__ :					int  			=  []
  	for i in range(image_processor_tester.batch_size	):
  		if equal_resolution:
  			__magic_name__ :					int  			=  image_processor_tester.max_resolution
  		else:
  			__magic_name__			,       __magic_name__ :					Union[str, Any]  			=  np.random.choice(
  			    np.arange(image_processor_tester.min_resolution	,	image_processor_tester.max_resolution	)	,	2	)
  			__magic_name__ :					Tuple  			=  prepare_video(
  			    image_processor_tester=lowerCAmelCase	,	width=lowerCAmelCase	,	height=lowerCAmelCase	,	numpify=lowerCAmelCase	,	torchify=lowerCAmelCase	,	)
  		video_inputs.append(lowerCAmelCase	)
  
  	return video_inputs
  
  
  
  
  
  class _lowerCamelCase :
  
  
  
  		'''simple docstring'''
  
  
  
  
  
  
  
  		A_			:    List[str]   					=       None
  
  
  
  
  
  
  
  		def      __lowerCAmelCase	(      self	:		Tuple    )						->				Dict:
  			__magic_name__ :					int  			=  self.image_processing_class(**self.image_processor_dict    )
  			__magic_name__ :					List[str]  			=  json.loads(image_processor.to_json_string()    )
  			for key, value in self.image_processor_dict.items():
  				self.assertEqual(obj[key]						,  _A    )
  
  
  
  
  
  
  
  		def      __lowerCAmelCase	(      self	:		Union[str, Any]    )						->				Dict:
  			__magic_name__ :					str  			=  self.image_processing_class(**self.image_processor_dict    )
  
  			with tempfile.TemporaryDirectory() as tmpdirname:
  				__magic_name__ :					Optional[Any]  			=  os.path.join(_A						,  'image_processor.json'    )
  				image_processor_first.to_json_file(_A    )
  				__magic_name__ :					Union[str, Any]  			=  self.image_processing_class.from_json_file(_A    )
  
  			self.assertEqual(image_processor_second.to_dict()						,  image_processor_first.to_dict()    )
  
  
  
  
  
  
  
  		def      __lowerCAmelCase	(      self	:		Dict    )						->				Optional[Any]:
  			__magic_name__ :					Dict  			=  self.image_processing_class(**self.image_processor_dict    )
  
  			with tempfile.TemporaryDirectory() as tmpdirname:
  				__magic_name__ :					List[Any]  			=  image_processor_first.save_pretrained(_A    )[0]
  				check_json_file_has_correct_format(_A    )
  				__magic_name__ :					Dict  			=  self.image_processing_class.from_pretrained(_A    )
  
  			self.assertEqual(image_processor_second.to_dict()						,  image_processor_first.to_dict()    )
  
  
  
  
  
  
  
  		def      __lowerCAmelCase	(      self	:		Union[str, Any]    )						->				Any:
  			__magic_name__ :					Optional[int]  			=  self.image_processing_class()
  			self.assertIsNotNone(_A    )
  
  
  
  
  
  
  
  		@require_torch
  		@require_vision
  		def      __lowerCAmelCase	(      self	:		int    )						->				Any:
  			if self.test_cast_dtype is not None:
  				# Initialize image_processor
  				__magic_name__ :					Optional[Any]  			=  self.image_processing_class(**self.image_processor_dict    )
  
  				# create random PyTorch tensors
  				__magic_name__ :					str  			=  prepare_image_inputs(self.image_processor_tester						,  equal_resolution=_A						,  torchify=_A    )
  
  				__magic_name__ :					Dict  			=  image_processor(_A						,  return_tensors='pt'    )
  				# for layoutLM compatiblity
  				self.assertEqual(encoding.pixel_values.device						,  torch.device('cpu'    )    )
  				self.assertEqual(encoding.pixel_values.dtype						,  torch.floataa    )
  
  				__magic_name__ :					str  			=  image_processor(_A						,  return_tensors='pt'    ).to(torch.floataa    )
  				self.assertEqual(encoding.pixel_values.device						,  torch.device('cpu'    )    )
  				self.assertEqual(encoding.pixel_values.dtype						,  torch.floataa    )
  
  				__magic_name__ :					int  			=  image_processor(_A						,  return_tensors='pt'    ).to('cpu'						,  torch.bfloataa    )
  				self.assertEqual(encoding.pixel_values.device						,  torch.device('cpu'    )    )
  				self.assertEqual(encoding.pixel_values.dtype						,  torch.bfloataa    )
  
  				with self.assertRaises(_A    ):
  					__magic_name__ :					Any  			=  image_processor(_A						,  return_tensors='pt'    ).to(torch.bfloataa						,  'cpu'    )
  
  				# Try with text + image feature
  				__magic_name__ :					Union[str, Any]  			=  image_processor(_A						,  return_tensors='pt'    )
  				encoding.update({'input_ids': torch.LongTensor([[1, 2, 3], [4, 5, 6]]    )}    )
  				__magic_name__ :					List[Any]  			=  encoding.to(torch.floataa    )
  
  				self.assertEqual(encoding.pixel_values.device						,  torch.device('cpu'    )    )
  				self.assertEqual(encoding.pixel_values.dtype						,  torch.floataa    )
  				self.assertEqual(encoding.input_ids.dtype						,  torch.long    )
style_context: 
  
  
  '''simple docstring'''
  
  import random
  import unittest
  
  import numpy as np
  import torch
  
  from diffusers import DDIMScheduler, LDMSuperResolutionPipeline, UNetaDModel, VQModel
  from diffusers.utils import PIL_INTERPOLATION, floats_tensor, load_image, slow, torch_device
  from diffusers.utils.testing_utils import enable_full_determinism, require_torch
  
  
  enable_full_determinism()
  class _lowerCamelCase (		unittest.TestCase							):
  
  
  
  		'''simple docstring'''
  
  
  
  
  
  
  
  		@property
  		def      __lowerCAmelCase	(      self	:		Union[str, Any]    )						->				List[Any]:
  			__magic_name__ :					Union[str, Any]  			=  1
  			__magic_name__ :					str  			=  3
  			__magic_name__ :					Optional[Any]  			=  (32, 32)
  
  			__magic_name__ :					Dict  			=  floats_tensor((batch_size, num_channels) + sizes						,  rng=random.Random(0    )    ).to(_A    )
  			return image
  
  
  
  
  
  
  
  		@property
  		def      __lowerCAmelCase	(      self	:		Optional[Any]    )						->				List[str]:
  			torch.manual_seed(0    )
  			__magic_name__ :					Dict  			=  UNetaDModel(
  			    block_out_channels=(32, 64)						,  layers_per_block=2						,  sample_size=32						,  in_channels=6						,  out_channels=3						,  down_block_types=('DownBlock2D', 'AttnDownBlock2D')						,  up_block_types=('AttnUpBlock2D', 'UpBlock2D')						,  )
  			return model
  
  
  
  
  
  
  
  		@property
  		def      __lowerCAmelCase	(      self	:		Any    )						->				Optional[int]:
  			torch.manual_seed(0    )
  			__magic_name__ :					Union[str, Any]  			=  VQModel(
  			    block_out_channels=[32, 64]						,  in_channels=3						,  out_channels=3						,  down_block_types=['DownEncoderBlock2D', 'DownEncoderBlock2D']						,  up_block_types=['UpDecoderBlock2D', 'UpDecoderBlock2D']						,  latent_channels=3						,  )
  			return model
  
  
  
  
  
  
  
  		def      __lowerCAmelCase	(      self	:		Optional[int]    )						->				int:
  			__magic_name__ :					Dict  			=  'cpu'
  			__magic_name__ :					str  			=  self.dummy_uncond_unet
  			__magic_name__ :					Optional[int]  			=  DDIMScheduler()
  			__magic_name__ :					Optional[Any]  			=  self.dummy_vq_model
  
  			__magic_name__ :					Tuple  			=  LDMSuperResolutionPipeline(unet=_A						,  vqvae=_A						,  scheduler=_A    )
  			ldm.to(_A    )
  			ldm.set_progress_bar_config(disable=_A    )
  
  			__magic_name__ :					Optional[int]  			=  self.dummy_image.to(_A    )
  
  			__magic_name__ :					List[Any]  			=  torch.Generator(device=_A    ).manual_seed(0    )
  			__magic_name__ :					str  			=  ldm(image=_A						,  generator=_A						,  num_inference_steps=2						,  output_type='numpy'    ).images
  
  			__magic_name__ :					List[Any]  			=  image[0, -3:, -3:, -1]
  
  			assert image.shape == (1, 64, 64, 3)
  			__magic_name__ :					Optional[Any]  			=  np.array([0.8678, 0.8245, 0.6381, 0.6830, 0.4385, 0.5599, 0.4641, 0.6201, 0.5150]    )
  
  			assert np.abs(image_slice.flatten() - expected_slice    ).max() < 1E-2
  
  
  
  
  
  
  
  		@unittest.skipIf(torch_device != 'cuda'						,  'This test requires a GPU'    )
  		def      __lowerCAmelCase	(      self	:		List[Any]    )						->				List[Any]:
  			__magic_name__ :					Union[str, Any]  			=  self.dummy_uncond_unet
  			__magic_name__ :					Tuple  			=  DDIMScheduler()
  			__magic_name__ :					Union[str, Any]  			=  self.dummy_vq_model
  
  			# put models in fp16
  			__magic_name__ :					Optional[int]  			=  unet.half()
  			__magic_name__ :					int  			=  vqvae.half()
  
  			__magic_name__ :					Optional[Any]  			=  LDMSuperResolutionPipeline(unet=_A						,  vqvae=_A						,  scheduler=_A    )
  			ldm.to(_A    )
  			ldm.set_progress_bar_config(disable=_A    )
  
  			__magic_name__ :					str  			=  self.dummy_image.to(_A    )
  
  			__magic_name__ :					Union[str, Any]  			=  ldm(_A						,  num_inference_steps=2						,  output_type='numpy'    ).images
  
  			assert image.shape == (1, 64, 64, 3)
  
  
  
  
  
  
  
  @slow
  @require_torch
  class _lowerCamelCase (		unittest.TestCase							):
  
  
  
  		'''simple docstring'''
  
  
  
  
  
  
  
  		def      __lowerCAmelCase	(      self	:		str    )						->				Dict:
  			__magic_name__ :					Tuple  			=  load_image(
  			    'https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main'
  			    '/vq_diffusion/teddy_bear_pool.png'    )
  			__magic_name__ :					Dict  			=  init_image.resize((64, 64)						,  resample=PIL_INTERPOLATION['lanczos']    )
  
  			__magic_name__ :					List[Any]  			=  LDMSuperResolutionPipeline.from_pretrained('duongna/ldm-super-resolution'						,  device_map='auto'    )
  			ldm.set_progress_bar_config(disable=_A    )
  
  			__magic_name__ :					int  			=  torch.manual_seed(0    )
  			__magic_name__ :					Optional[Any]  			=  ldm(image=_A						,  generator=_A						,  num_inference_steps=20						,  output_type='numpy'    ).images
  
  			__magic_name__ :					List[str]  			=  image[0, -3:, -3:, -1]
  
  			assert image.shape == (1, 256, 256, 3)
  			__magic_name__ :					int  			=  np.array([0.7644, 0.7679, 0.7642, 0.7633, 0.7666, 0.7560, 0.7425, 0.7257, 0.6907]    )
  
  			assert np.abs(image_slice.flatten() - expected_slice    ).max() < 1E-2