



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







       '''simple docstring'''


       def 					lowercase__    (							self      :  List[str]   )			->						Union[str, Any]:


             '''simple docstring'''




             super().tearDown()
             gc.collect()
             torch.cuda.empty_cache()



       def 					lowercase__    (							self      :  str   )			->						str:


             '''simple docstring'''




             UpperCAmelCase_      			=							StableDiffusionKDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4"   )
             UpperCAmelCase_      			=							sd_pipe.to(_UpperCAmelCase   )
             sd_pipe.set_progress_bar_config(disable=_UpperCAmelCase   )

             sd_pipe.set_scheduler("sample_euler"   )

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

             UpperCAmelCase_      			=							output.images

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

             assert image.shape == (1, 512, 512, 3)
             UpperCAmelCase_      			=							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 					lowercase__    (							self      :  Optional[Any]   )			->						Tuple:


             '''simple docstring'''




             UpperCAmelCase_      			=							StableDiffusionKDiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-2-1-base"   )
             UpperCAmelCase_      			=							sd_pipe.to(_UpperCAmelCase   )
             sd_pipe.set_progress_bar_config(disable=_UpperCAmelCase   )

             sd_pipe.set_scheduler("sample_euler"   )

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

             UpperCAmelCase_      			=							output.images

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

             assert image.shape == (1, 512, 512, 3)
             UpperCAmelCase_      			=							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 					lowercase__    (							self      :  List[str]   )			->						List[Any]:


             '''simple docstring'''




             UpperCAmelCase_      			=							StableDiffusionKDiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-2-1-base"   )
             UpperCAmelCase_      			=							sd_pipe.to(_UpperCAmelCase   )
             sd_pipe.set_progress_bar_config(disable=_UpperCAmelCase   )

             sd_pipe.set_scheduler("sample_dpmpp_2m"   )

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

             UpperCAmelCase_      			=							output.images

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

             assert image.shape == (1, 512, 512, 3)
             UpperCAmelCase_      			=							np.array(
                 [0.1138_1689, 0.1211_2921, 0.138_9457, 0.1254_9606, 0.124_4964, 0.1083_1517, 0.1156_2866, 0.1086_7816, 0.1049_9048]   )

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









"""simple docstring"""





def        a__     (				lowerCAmelCase__     ,      lowerCAmelCase__				):
      return [sentence[i : i + ngram_size] for i in range(len(lowerCAmelCase__				) - ngram_size + 1				)]


if __name__ == "__main__":
  from doctest import testmod

  testmod()




