





'''simple docstring'''







import unittest

import numpy as np
import torch
from transformers import CLIPTextConfig, CLIPTextModel

from diffusers import DDIMScheduler, LDMPipeline, UNetaDModel, VQModel
from diffusers.utils.testing_utils import enable_full_determinism, require_torch, slow, torch_device


enable_full_determinism()


class 					__a      (unittest.TestCase     ):

							@property
							def     UpperCAmelCase__	(							self							:     Any   )					->       Optional[int]:







													"""simple docstring"""
													torch.manual_seed(0   )
													UpperCAmelCase_			:      Dict     						=  UNetaDModel(
													    block_out_channels=(32, 64)       ,     layers_per_block=2       ,     sample_size=32       ,     in_channels=3       ,     out_channels=3       ,     down_block_types=('''DownBlock2D''', '''AttnDownBlock2D''')       ,     up_block_types=('''AttnUpBlock2D''', '''UpBlock2D''')       ,     )
													return model

							@property
							def     UpperCAmelCase__	(							self							:     int   )					->       Dict:







													"""simple docstring"""
													torch.manual_seed(0   )
													UpperCAmelCase_			:      int     						=  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

							@property
							def     UpperCAmelCase__	(							self							:     str   )					->       List[Any]:







													"""simple docstring"""
													torch.manual_seed(0   )
													UpperCAmelCase_			:      Any     						=  CLIPTextConfig(
													    bos_token_id=0       ,     eos_token_id=2       ,     hidden_size=32       ,     intermediate_size=37       ,     layer_norm_eps=1E-05       ,     num_attention_heads=4       ,     num_hidden_layers=5       ,     pad_token_id=1       ,     vocab_size=10_00       ,     )
													return CLIPTextModel(UpperCamelCase_   )



							def     UpperCAmelCase__	(							self							:     Dict   )					->       List[Any]:







													"""simple docstring"""
													UpperCAmelCase_			:      Union[str, Any]     						=  self.dummy_uncond_unet
													UpperCAmelCase_			:      str     						=  DDIMScheduler()
													UpperCAmelCase_			:      Optional[Any]     						=  self.dummy_vq_model

													UpperCAmelCase_			:      Union[str, Any]     						=  LDMPipeline(unet=UpperCamelCase_       ,     vqvae=UpperCamelCase_       ,     scheduler=UpperCamelCase_   )
													ldm.to(UpperCamelCase_   )
													ldm.set_progress_bar_config(disable=UpperCamelCase_   )

													UpperCAmelCase_			:      Optional[Any]     						=  torch.manual_seed(0   )
													UpperCAmelCase_			:      Dict     						=  ldm(generator=UpperCamelCase_       ,     num_inference_steps=2       ,     output_type='''numpy'''   ).images

													UpperCAmelCase_			:      List[str]     						=  torch.manual_seed(0   )
													UpperCAmelCase_			:      Any     						=  ldm(generator=UpperCamelCase_       ,     num_inference_steps=2       ,     output_type='''numpy'''       ,     return_dict=UpperCamelCase_   )[0]

													UpperCAmelCase_			:      int     						=  image[0, -3:, -3:, -1]
													UpperCAmelCase_			:      Optional[Any]     						=  image_from_tuple[0, -3:, -3:, -1]

													assert image.shape == (1, 64, 64, 3)
													UpperCAmelCase_			:      Optional[int]     						=  np.array([0.8_5_1_2, 0.8_1_8, 0.6_4_1_1, 0.6_8_0_8, 0.4_4_6_5, 0.5_6_1_8, 0.4_6, 0.6_2_3_1, 0.5_1_7_2]   )
													UpperCAmelCase_			:      str     						=  1E-2 if torch_device != "mps" else 3E-2

													assert np.abs(image_slice.flatten() - expected_slice   ).max() < tolerance
													assert np.abs(image_from_tuple_slice.flatten() - expected_slice   ).max() < tolerance





@slow
@require_torch
class 					__a      (unittest.TestCase     ):

							def     UpperCAmelCase__	(							self							:     Optional[int]   )					->       Any:







													"""simple docstring"""
													UpperCAmelCase_			:      Dict     						=  LDMPipeline.from_pretrained('''CompVis/ldm-celebahq-256'''   )
													ldm.to(UpperCamelCase_   )
													ldm.set_progress_bar_config(disable=UpperCamelCase_   )

													UpperCAmelCase_			:      List[Any]     						=  torch.manual_seed(0   )
													UpperCAmelCase_			:      Dict     						=  ldm(generator=UpperCamelCase_       ,     num_inference_steps=5       ,     output_type='''numpy'''   ).images

													UpperCAmelCase_			:      Optional[int]     						=  image[0, -3:, -3:, -1]

													assert image.shape == (1, 2_56, 2_56, 3)
													UpperCAmelCase_			:      List[str]     						=  np.array([0.4_3_9_9, 0.4_4_9_7_5, 0.4_6_8_2_5, 0.4_7_4, 0.4_3_5_9, 0.4_5_8_1, 0.4_5_0_9_5, 0.4_3_4_1, 0.4_4_4_7]   )
													UpperCAmelCase_			:      List[Any]     						=  1E-2 if torch_device != "mps" else 3E-2

													assert np.abs(image_slice.flatten() - expected_slice   ).max() < tolerance












'''simple docstring'''







def        lowerCamelCase_      (  SCREAMING_SNAKE_CASE__      :			int = 10,			SCREAMING_SNAKE_CASE__      :			int = 22   ) ->	int:
						UpperCAmelCase_			:      Optional[int]     						=  range(1,			SCREAMING_SNAKE_CASE__   )
						UpperCAmelCase_			:      List[Any]     						=  range(1,			SCREAMING_SNAKE_CASE__   )
						return sum(
						    1 for power in powers for base in bases if len(str(base**power   )   ) == power   )


if __name__ == "__main__":
					print(f'''{solution(10, 22) = }''')





