

from functools import lru_cache






@lru_cache
def        UpperCamelCase_(							_snake_case   :  int	):




			"""simple docstring"""






			if num < 0:
						raise ValueError('Number should not be negative.'	)

			return 1 if num in (0, 1) else num * factorial(num - 1	)


if __name__ == "__main__":
						import doctest

						doctest.testmod()









import unittest

import numpy as np
import torch

from diffusers import VersatileDiffusionImageVariationPipeline
from diffusers.utils.testing_utils import load_image, require_torch_gpu, slow, torch_device


_lowerCAmelCase					:			Optional[Any]  				=			False






class 	__magic_name__    (			unittest.TestCase      ):
			pass






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





			def 		__magic_name__    (		self					)   -> Optional[int]:




						'''simple docstring'''
						__a        =VersatileDiffusionImageVariationPipeline.from_pretrained('shi-labs/versatile-diffusion'					)
						pipe.to(__snake_case					)
						pipe.set_progress_bar_config(disable=__snake_case					)

						__a        =load_image(
						    'https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/versatile_diffusion/benz.jpg'					)
						__a        =torch.manual_seed(0					)
						__a        =pipe(
						    image=__snake_case					,  generator=__snake_case					,  guidance_scale=7.5					,  num_inference_steps=50					,  output_type='numpy'					,  ).images

						__a        =image[0, 253:256, 253:256, -1]

						assert image.shape == (1, 512, 512, 3)
						__a        =np.array([0.0441, 0.0469, 0.0507, 0.0575, 0.0632, 0.0650, 0.0865, 0.0909, 0.0945]					)

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






