





'''simple docstring'''


import gc
import unittest

import numpy as np
import torch

from diffusers import StableDiffusionKDiffusionPipeline
from diffusers.utils import slow, torch_device
from diffusers.utils.testing_utils import enable_full_determinism, require_torch_gpu


enable_full_determinism()

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




 def 							_snake_case   (	self		)    ->							Optional[int]:
     # clean up the VRAM after each test
     super().tearDown()
     gc.collect()
     torch.cuda.empty_cache()




 def 							_snake_case   (	self		)    ->							List[Any]:
     _lowerCAmelCase				=      StableDiffusionKDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4"		)
     _lowerCAmelCase				=      sd_pipe.to(UpperCAmelCase_		)
     sd_pipe.set_progress_bar_config(disable=UpperCAmelCase_		)

     sd_pipe.set_scheduler("sample_euler"		)

     _lowerCAmelCase				=      'A painting of a squirrel eating a burger'
     _lowerCAmelCase				=      torch.manual_seed(0		)
     _lowerCAmelCase				=      sd_pipe([prompt]			,     generator=UpperCAmelCase_			,     guidance_scale=9.0			,     num_inference_steps=20			,     output_type="np"		)

     _lowerCAmelCase				=      output.images

     _lowerCAmelCase				=      image[0, -3:, -3:, -1]

     assert image.shape == (1, 512, 512, 3)
     _lowerCAmelCase				=      np.array([0.0447, 0.0492, 0.0468, 0.0408, 0.0383, 0.0408, 0.0354, 0.0380, 0.0339]		)

     assert np.abs(image_slice.flatten() - expected_slice		).max() < 1E-2




 def 							_snake_case   (	self		)    ->							Union[str, Any]:
     _lowerCAmelCase				=      StableDiffusionKDiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-2-1-base"		)
     _lowerCAmelCase				=      sd_pipe.to(UpperCAmelCase_		)
     sd_pipe.set_progress_bar_config(disable=UpperCAmelCase_		)

     sd_pipe.set_scheduler("sample_euler"		)

     _lowerCAmelCase				=      'A painting of a squirrel eating a burger'
     _lowerCAmelCase				=      torch.manual_seed(0		)
     _lowerCAmelCase				=      sd_pipe([prompt]			,     generator=UpperCAmelCase_			,     guidance_scale=9.0			,     num_inference_steps=20			,     output_type="np"		)

     _lowerCAmelCase				=      output.images

     _lowerCAmelCase				=      image[0, -3:, -3:, -1]

     assert image.shape == (1, 512, 512, 3)
     _lowerCAmelCase				=      np.array([0.1237, 0.1320, 0.1438, 0.1359, 0.1390, 0.1132, 0.1277, 0.1175, 0.1112]		)

     assert np.abs(image_slice.flatten() - expected_slice		).max() < 5E-1





 def 							_snake_case   (	self		)    ->							Optional[int]:
     _lowerCAmelCase				=      StableDiffusionKDiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-2-1-base"		)
     _lowerCAmelCase				=      sd_pipe.to(UpperCAmelCase_		)
     sd_pipe.set_progress_bar_config(disable=UpperCAmelCase_		)

     sd_pipe.set_scheduler("sample_dpmpp_2m"		)

     _lowerCAmelCase				=      'A painting of a squirrel eating a burger'
     _lowerCAmelCase				=      torch.manual_seed(0		)
     _lowerCAmelCase				=      sd_pipe(
         [prompt]			,     generator=UpperCAmelCase_			,     guidance_scale=7.5			,     num_inference_steps=15			,     output_type="np"			,     use_karras_sigmas=UpperCAmelCase_			,     )

     _lowerCAmelCase				=      output.images

     _lowerCAmelCase				=      image[0, -3:, -3:, -1]

     assert image.shape == (1, 512, 512, 3)
     _lowerCAmelCase				=      np.array(
         [0.11381689, 0.12112921, 0.1389457, 0.12549606, 0.1244964, 0.10831517, 0.11562866, 0.10867816, 0.10499048]		)

     assert np.abs(image_slice.flatten() - expected_slice		).max() < 1E-2











'''simple docstring'''


def 	__a(SCREAMING_SNAKE_CASE_  :					int    ):



    '''simple docstring'''





    if not isinstance(SCREAMING_SNAKE_CASE_		,       SCREAMING_SNAKE_CASE_    ):
        raise TypeError("Input value must be an 'int' type"    )

    _lowerCAmelCase				=      0
    while number:
        position += 1
        number >>= 1

    return position


if __name__ == "__main__":
       import doctest

       doctest.testmod()


