





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       ):
			'''simple docstring'''




			def   a_			(     self  :       Any  )      ->      List[str]:







					"""simple docstring"""






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






			def   a_			(     self  :       List[str]  )      ->      str:







					"""simple docstring"""






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

					sd_pipe.set_scheduler("""sample_euler"""  )

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

					A__     =  output.images

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

					assert image.shape == (1, 5_12, 5_12, 3)
					A__     =  np.array([0.0_4_4_7, 0.0_4_9_2, 0.0_4_6_8, 0.0_4_0_8, 0.0_3_8_3, 0.0_4_0_8, 0.0_3_5_4, 0.0_3_8_0, 0.0_3_3_9]  )

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






			def   a_			(     self  :       int  )      ->      List[str]:







					"""simple docstring"""






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

					sd_pipe.set_scheduler("""sample_euler"""  )

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

					A__     =  output.images

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

					assert image.shape == (1, 5_12, 5_12, 3)
					A__     =  np.array([0.1_2_3_7, 0.1_3_2_0, 0.1_4_3_8, 0.1_3_5_9, 0.1_3_9_0, 0.1_1_3_2, 0.1_2_7_7, 0.1_1_7_5, 0.1_1_1_2]  )

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







			def   a_			(     self  :       int  )      ->      int:







					"""simple docstring"""






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

					sd_pipe.set_scheduler("""sample_dpmpp_2m"""  )

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

					A__     =  output.images

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

					assert image.shape == (1, 5_12, 5_12, 3)
					A__     =  np.array(
					    [0.1_1_3_8_1_6_8_9, 0.1_2_1_1_2_9_2_1, 0.1_3_8_9_4_5_7, 0.1_2_5_4_9_6_0_6, 0.1_2_4_4_9_6_4, 0.1_0_8_3_1_5_1_7, 0.1_1_5_6_2_8_6_6, 0.1_0_8_6_7_8_1_6, 0.1_0_4_9_9_0_4_8]  )

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










import numpy as np







def   __lowerCamelCase   (				__a  :np.array       )						->							np.array:






		"""simple docstring"""

		return 1 / (1 + np.exp(-vector       ))







def   __lowerCamelCase   (				__a  :np.array       )						->							np.array:






		"""simple docstring"""

		return vector * sigmoid(1.702 * vector       )


if __name__ == "__main__":
					import doctest

					doctest.testmod()



