

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





      """simple docstring"""





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


   def 						_lowerCamelCase       (			self  ):





      """simple docstring"""





      _lowercase      :				Tuple      					=       StableDiffusionKDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4"  )
      _lowercase      :				Union[str, Any]      					=       sd_pipe.to(_UpperCamelCase  )
      sd_pipe.set_progress_bar_config(disable=_UpperCamelCase  )

      sd_pipe.set_scheduler("sample_euler"  )

      _lowercase      :				List[Any]      					=       "A painting of a squirrel eating a burger"
      _lowercase      :				Union[str, Any]      					=       torch.manual_seed(0  )
      _lowercase      :				Optional[int]      					=       sd_pipe([prompt]      ,    generator=_UpperCamelCase      ,    guidance_scale=9.0      ,    num_inference_steps=20      ,    output_type="np"  )

      _lowercase      :				Any      					=       output.images

      _lowercase      :				List[Any]      					=       image[0, -3:, -3:, -1]

      assert image.shape == (1, 512, 512, 3)
      _lowercase      :				int      					=       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 						_lowerCamelCase       (			self  ):





      """simple docstring"""





      _lowercase      :				Optional[int]      					=       StableDiffusionKDiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-2-1-base"  )
      _lowercase      :				List[str]      					=       sd_pipe.to(_UpperCamelCase  )
      sd_pipe.set_progress_bar_config(disable=_UpperCamelCase  )

      sd_pipe.set_scheduler("sample_euler"  )

      _lowercase      :				List[str]      					=       "A painting of a squirrel eating a burger"
      _lowercase      :				Union[str, Any]      					=       torch.manual_seed(0  )
      _lowercase      :				Any      					=       sd_pipe([prompt]      ,    generator=_UpperCamelCase      ,    guidance_scale=9.0      ,    num_inference_steps=20      ,    output_type="np"  )

      _lowercase      :				Tuple      					=       output.images

      _lowercase      :				List[Any]      					=       image[0, -3:, -3:, -1]

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





      """simple docstring"""





      _lowercase      :				List[str]      					=       StableDiffusionKDiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-2-1-base"  )
      _lowercase      :				Any      					=       sd_pipe.to(_UpperCamelCase  )
      sd_pipe.set_progress_bar_config(disable=_UpperCamelCase  )

      sd_pipe.set_scheduler("sample_dpmpp_2m"  )

      _lowercase      :				Union[str, Any]      					=       "A painting of a squirrel eating a burger"
      _lowercase      :				Dict      					=       torch.manual_seed(0  )
      _lowercase      :				List[str]      					=       sd_pipe(
          [prompt]      ,    generator=_UpperCamelCase      ,    guidance_scale=7.5      ,    num_inference_steps=15      ,    output_type="np"      ,    use_karras_sigmas=_UpperCamelCase      ,    )

      _lowercase      :				int      					=       output.images

      _lowercase      :				int      					=       image[0, -3:, -3:, -1]

      assert image.shape == (1, 512, 512, 3)
      _lowercase      :				int      					=       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









'''simple docstring'''
def  _A		(     snake_case		,							snake_case					)      ->     int:
   return int((input_a, input_a).count(0					) != 0					)







def  _A		(     )      ->     None:
   assert nand_gate(0		,							0					) == 1
   assert nand_gate(0		,							1					) == 1
   assert nand_gate(1		,							0					) == 1
   assert nand_gate(1		,							1					) == 0


if __name__ == "__main__":
    print(nand_gate(0, 0))
    print(nand_gate(0, 1))
    print(nand_gate(1, 0))
    print(nand_gate(1, 1))






