code: 
  
  
  '''simple docstring'''
  
  import numpy as np  # noqa: E402
  
  from ...configuration_utils import ConfigMixin, register_to_config
  from ...schedulers.scheduling_utils import SchedulerMixin
  
  
  try:
  							import librosa  # noqa: E402
  
  							lowerCAmelCase   :Any								=    True
  							lowerCAmelCase   :Tuple								=    ''''''
  except Exception as e:
  							lowerCAmelCase   :Tuple								=    False
  							lowerCAmelCase   :str								=    (
  							    F'Cannot import librosa because {e}. Make sure to correctly install librosa to be able to install it.'
  							)
  
  
  from PIL import Image  # noqa: E402
  class _lowerCamelCase (		lowercase__	,  lowercase__							):
  
  
  
  		'''simple docstring'''
  
  
  
  
  
  
  
  		A_			:    str   					=       """mel_config.json"""
  
  
  
  
  
  
  
  		@register_to_config
  		def __init__(      self	:		Union[str, Any]						,  _A	:		int = 256						,  _A	:		int = 256						,  _A	:		int = 22050						,  _A	:		int = 2048						,  _A	:		int = 512						,  _A	:		int = 80						,  _A	:		int = 32						,  )						->				Any:
  			__magic_name__ :					Optional[int]  			=  hop_length
  			__magic_name__ :					List[Any]  			=  sample_rate
  			__magic_name__ :					Optional[Any]  			=  n_fft
  			__magic_name__ :					Dict  			=  top_db
  			__magic_name__ :					List[str]  			=  n_iter
  			self.set_resolution(_A						,  _A    )
  			__magic_name__ :					Tuple  			=  None
  
  			if not _librosa_can_be_imported:
  				raise ValueError(_import_error    )
  
  
  
  
  
  
  
  		def      __lowerCAmelCase	(      self	:		Optional[Any]						,  _A	:		int						,  _A	:		int    )						->				Tuple:
  			__magic_name__ :					Dict  			=  x_res
  			__magic_name__ :					int  			=  y_res
  			__magic_name__ :					Tuple  			=  self.y_res
  			__magic_name__ :					Dict  			=  self.x_res * self.hop_length - 1
  
  
  
  
  
  
  
  		def      __lowerCAmelCase	(      self	:		List[str]						,  _A	:		str = None						,  _A	:		np.ndarray = None    )						->				Optional[int]:
  			if audio_file is not None:
  				__magic_name__			,       __magic_name__ :					List[str]  			=  librosa.load(_A						,  mono=_A						,  sr=self.sr    )
  			else:
  				__magic_name__ :					Union[str, Any]  			=  raw_audio
  
  			# Pad with silence if necessary.
  			if len(self.audio    ) < self.x_res * self.hop_length:
  				__magic_name__ :					Any  			=  np.concatenate([self.audio, np.zeros((self.x_res * self.hop_length - len(self.audio    ),)    )]    )
  
  
  
  
  
  
  
  		def      __lowerCAmelCase	(      self	:		List[Any]    )						->				int:
  			return len(self.audio    ) // self.slice_size
  
  
  
  
  
  
  
  		def      __lowerCAmelCase	(      self	:		Optional[Any]						,  _A	:		int = 0    )						->				np.ndarray:
  			return self.audio[self.slice_size * slice : self.slice_size * (slice + 1)]
  
  
  
  
  
  
  
  		def      __lowerCAmelCase	(      self	:		int    )						->				int:
  			return self.sr
  
  
  
  
  
  
  
  		def      __lowerCAmelCase	(      self	:		Dict						,  _A	:		int    )						->				Image.Image:
  			__magic_name__ :					Optional[Any]  			=  librosa.feature.melspectrogram(
  			    y=self.get_audio_slice(_A    )						,  sr=self.sr						,  n_fft=self.n_fft						,  hop_length=self.hop_length						,  n_mels=self.n_mels    )
  			__magic_name__ :					Tuple  			=  librosa.power_to_db(_A						,  ref=np.max						,  top_db=self.top_db    )
  			__magic_name__ :					List[Any]  			=  (((log_S + self.top_db) * 255 / self.top_db).clip(0						,  255    ) + 0.5).astype(np.uinta    )
  			__magic_name__ :					Union[str, Any]  			=  Image.fromarray(_A    )
  			return image
  
  
  
  
  
  
  
  		def      __lowerCAmelCase	(      self	:		List[Any]						,  _A	:		Image.Image    )						->				np.ndarray:
  			__magic_name__ :					List[str]  			=  np.frombuffer(image.tobytes()						,  dtype='uint8'    ).reshape((image.height, image.width)    )
  			__magic_name__ :					Optional[Any]  			=  bytedata.astype('float'    ) * self.top_db / 255 - self.top_db
  			__magic_name__ :					Optional[int]  			=  librosa.db_to_power(_A    )
  			__magic_name__ :					Union[str, Any]  			=  librosa.feature.inverse.mel_to_audio(
  			    _A						,  sr=self.sr						,  n_fft=self.n_fft						,  hop_length=self.hop_length						,  n_iter=self.n_iter    )
  			return audio
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