

"""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 		_A       (			unittest.TestCase					):





      def 					_lowerCamelCase  (  self		)   ->					Any:
         # clean up the VRAM after each test
         super().tearDown()
         gc.collect()
         torch.cuda.empty_cache()





      def 					_lowerCamelCase  (  self		)   ->					str:
         lowerCamelCase__						=			StableDiffusionKDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4"		)
         lowerCamelCase__						=			sd_pipe.to(SCREAMING_SNAKE_CASE__		)
         sd_pipe.set_progress_bar_config(disable=SCREAMING_SNAKE_CASE__		)

         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=SCREAMING_SNAKE_CASE__    ,						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.04_47, 0.04_92, 0.04_68, 0.04_08, 0.03_83, 0.04_08, 0.03_54, 0.03_80, 0.03_39]		)

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





      def 					_lowerCamelCase  (  self		)   ->					Any:
         lowerCamelCase__						=			StableDiffusionKDiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-2-1-base"		)
         lowerCamelCase__						=			sd_pipe.to(SCREAMING_SNAKE_CASE__		)
         sd_pipe.set_progress_bar_config(disable=SCREAMING_SNAKE_CASE__		)

         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=SCREAMING_SNAKE_CASE__    ,						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.12_37, 0.13_20, 0.14_38, 0.13_59, 0.13_90, 0.11_32, 0.12_77, 0.11_75, 0.11_12]		)

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





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

         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=SCREAMING_SNAKE_CASE__    ,						guidance_scale=7.5    ,						num_inference_steps=15    ,						output_type="np"    ,						use_karras_sigmas=SCREAMING_SNAKE_CASE__    ,						)

         lowerCamelCase__						=			output.images

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

         assert image.shape == (1, 512, 512, 3)
         lowerCamelCase__						=			np.array(
             [0.11_38_16_89, 0.12_11_29_21, 0.1_38_94_57, 0.12_54_96_06, 0.1_24_49_64, 0.10_83_15_17, 0.11_56_28_66, 0.10_86_78_16, 0.10_49_90_48]		)

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







"""simple docstring"""




# Algorithm for the pigeonhole sorting





def 	UpperCAmelCase__   (				A__   )      ->      Dict:




   """simple docstring"""
   lowerCamelCase__						=			min(A__   )  # min() finds the minimum value
   lowerCamelCase__						=			max(A__   )  # max() finds the maximum value

   lowerCamelCase__						=			max_val - min_val + 1  # size is difference of max and min values plus one

   # list of pigeonholes of size equal to the variable size
   lowerCamelCase__						=			[0] * size

   # Populate the pigeonholes.
   for x in a:
      assert isinstance(A__	,    A__   ), "integers only please"
      holes[x - min_val] += 1

   # Putting the elements back into the array in an order.
   lowerCamelCase__						=			0
   for count in range(A__   ):
      while holes[count] > 0:
         holes[count] -= 1
         lowerCamelCase__						=			count + min_val
         i += 1



def 	UpperCAmelCase__   (				)      ->      Optional[int]:




   """simple docstring"""
   lowerCamelCase__						=			[8, 3, 2, 7, 4, 6, 8]
   pigeonhole_sort(A__   )
   print("Sorted order is:"	,    " ".join(A__   )   )


if __name__ == "__main__":
     main()




