code: 
  
  
  
  
  
  
  """simple docstring"""
  
  import unittest
  
  from transformers import ErnieMTokenizer
  from transformers.testing_utils import get_tests_dir, require_sentencepiece, require_tokenizers, slow
  
  from ...test_tokenization_common import TokenizerTesterMixin
  
  
  lowercase__      =				get_tests_dir("""fixtures/spiece.model""")
  
  
  @require_sentencepiece
  @require_tokenizers
  class 	__lowerCamelCase       (				A__				,							unittest.TestCase    ):
  
  
  
  
  
  		'''simple docstring'''
  
  
  
  
  
  
  		a_			:       Dict      =							ErnieMTokenizer
  		a_			:       Optional[int]      =							False
  		a_			:       Optional[int]      =							True
  		a_			:       Optional[int]      =							False
  		a_			:       Any      =							False
  
  
  
  
  
  		def      lowerCamelCase (     self							:			str			):
  				super().setUp()
  
  				# We have a SentencePiece fixture for testing
  				lowerCAmelCase_     :							Union[str, Any]             =    ErnieMTokenizer(a_		,    unk_token="<unk>"		,    pad_token="<pad>"			)
  				tokenizer.save_pretrained(self.tmpdirname			)
  
  
  
  
  
  		def      lowerCamelCase (     self							:			Optional[int]		,    a_							:			List[Any]			):
  				lowerCAmelCase_     :							str             =    "this is a test"
  				lowerCAmelCase_     :							Dict             =    "this is a test"
  				return input_text, output_text
  
  
  
  
  
  		def      lowerCamelCase (     self							:			Optional[Any]			):
  				lowerCAmelCase_     :							int             =    "<pad>"
  				lowerCAmelCase_     :							List[str]             =    0
  
  				self.assertEqual(self.get_tokenizer()._convert_token_to_id(a_			)		,    a_			)
  				self.assertEqual(self.get_tokenizer()._convert_id_to_token(a_			)		,    a_			)
  
  
  
  
  
  		def      lowerCamelCase (     self							:			str			):
  				lowerCAmelCase_     :							Optional[Any]             =    list(self.get_tokenizer().get_vocab().keys()			)
  
  				self.assertEqual(vocab_keys[0]		,    "<pad>"			)
  				self.assertEqual(vocab_keys[1]		,    "<unk>"			)
  				self.assertEqual(vocab_keys[-1]		,    "▁eloquent"			)
  				self.assertEqual(len(a_			)		,    3_00_00			)
  
  
  
  
  
  		def      lowerCamelCase (     self							:			List[Any]			):
  				self.assertEqual(self.get_tokenizer().vocab_size		,    3_00_00			)
  
  
  
  
  
  		def      lowerCamelCase (     self							:			Union[str, Any]			):
  				if not self.test_rust_tokenizer:
  						return
  
  				lowerCAmelCase_     :							str             =    self.get_tokenizer()
  				lowerCAmelCase_     :							List[Any]             =    self.get_rust_tokenizer()
  
  				lowerCAmelCase_     :							int             =    "I was born in 92000, and this is falsé."
  
  				lowerCAmelCase_     :							int             =    tokenizer.tokenize(a_			)
  				lowerCAmelCase_     :							Dict             =    rust_tokenizer.tokenize(a_			)
  				self.assertListEqual(a_		,    a_			)
  
  				lowerCAmelCase_     :							Any             =    tokenizer.encode(a_		,    add_special_tokens=a_			)
  				lowerCAmelCase_     :							Tuple             =    rust_tokenizer.encode(a_		,    add_special_tokens=a_			)
  				self.assertListEqual(a_		,    a_			)
  
  				lowerCAmelCase_     :							List[str]             =    self.get_rust_tokenizer()
  				lowerCAmelCase_     :							Union[str, Any]             =    tokenizer.encode(a_			)
  				lowerCAmelCase_     :							Dict             =    rust_tokenizer.encode(a_			)
  				self.assertListEqual(a_		,    a_			)
  
  
  
  
  
  		def      lowerCamelCase (     self							:			Any			):
  				lowerCAmelCase_     :							List[str]             =    ErnieMTokenizer(a_		,    do_lower_case=a_		,    unk_token="<unk>"		,    pad_token="<pad>"			)
  
  				lowerCAmelCase_     :							str             =    tokenizer.tokenize("This is a test"			)
  				self.assertListEqual(a_		,    ["▁this", "▁is", "▁a", "▁test"]			)
  
  				self.assertListEqual(tokenizer.convert_tokens_to_ids(a_			)		,    [48, 25, 21, 12_89]			)
  
  				lowerCAmelCase_     :							List[Any]             =    tokenizer.tokenize("I was born in 92000, and this is falsé."			)
  				# ErnieMTokenizer(paddlenlp implementation) outputs '9' instead of '_9' so to mimic that '_9' is changed to '9'
  				self.assertListEqual(
  				    a_		,    ["▁i", "▁was", "▁born", "▁in", "9", "2000", ",", "▁and", "▁this", "▁is", "▁fal", "s", "é", "."]			)
  				lowerCAmelCase_     :							Optional[int]             =    tokenizer.convert_tokens_to_ids(a_			)
  				self.assertListEqual(a_		,    [31, 23, 3_86, 19, 5_18, 30_50, 15, 17, 48, 25, 82_56, 18, 1, 9]			)
  
  				lowerCAmelCase_     :							int             =    tokenizer.convert_ids_to_tokens(a_			)
  				self.assertListEqual(
  				    a_		,    ["▁i", "▁was", "▁born", "▁in", "9", "2000", ",", "▁and", "▁this", "▁is", "▁fal", "s", "<unk>", "."]		,    )
  
  
  
  
  
  		def      lowerCamelCase (     self							:			int			):
  				lowerCAmelCase_     :							Dict             =    ErnieMTokenizer(a_		,    unk_token="<unk>"		,    pad_token="<pad>"			)
  
  				lowerCAmelCase_     :							Tuple             =    tokenizer.encode("sequence builders"			)
  				lowerCAmelCase_     :							Union[str, Any]             =    tokenizer.encode("multi-sequence build"			)
  
  				lowerCAmelCase_     :							Optional[int]             =    tokenizer.build_inputs_with_special_tokens(a_			)
  				lowerCAmelCase_     :							Union[str, Any]             =    tokenizer.build_inputs_with_special_tokens(a_		,    a_			)
  
  				assert encoded_sentence == [tokenizer.cls_token_id] + text + [tokenizer.sep_token_id]
  				assert encoded_pair == [tokenizer.cls_token_id] + text + [tokenizer.sep_token_id] + [
  				    tokenizer.sep_token_id
  				] + text_a + [tokenizer.sep_token_id]
  
  
  
  
  
  		@slow
  		def      lowerCamelCase (     self							:			int			):
  				# fmt: off
  				lowerCAmelCase_     :							Dict             =    {"input_ids": [[0, 1_10_62, 8_27_72, 7, 15, 8_27_72, 5_38, 5_15_29, 2_37, 1_71_98, 12_90, 2_06, 9, 21_51_75, 13_14, 1_36, 1_71_98, 12_90, 2_06, 9, 5_63_59, 42, 12_20_09, 9, 1_64_66, 16, 8_73_44, 45_37, 9, 47_17, 7_83_81, 6, 15_99_58, 7, 15, 2_44_80, 6_18, 4, 5_27, 2_26_93, 9, 3_04, 4, 27_77, 2_44_80, 98_74, 4, 4_35_23, 5_94, 4, 8_03, 1_83_92, 3_31_89, 18, 4, 4_35_23, 2_44_47, 5, 5, 5, 16, 1_00, 2_49_55, 8_36_58, 96_26, 14_40_57, 15, 8_39, 2_23_35, 16, 1_36, 2_49_55, 8_36_58, 8_34_79, 15, 3_91_02, 7_24, 16, 6_78, 6_45, 64_60, 13_28, 45_89, 42, 12_20_09, 11_57_74, 23, 35_59, 13_28, 4_68_76, 7, 1_36, 5_38_94, 19_40, 4_22_27, 4_11_59, 1_77_21, 8_23, 4_25, 4, 2_75_12, 9_87_22, 2_06, 1_36, 55_31, 49_70, 9_19, 1_73_36, 5, 2], [0, 2_00_80, 6_18, 83, 8_27_75, 47, 4_79, 9, 15_17, 73, 5_38_94, 3_33, 8_05_81, 11_01_17, 1_88_11, 52_56, 12_95, 51, 15_25_26, 2_97, 79_86, 3_90, 12_44_16, 5_38, 3_54_31, 2_14, 98, 1_50_44, 2_57_37, 1_36, 71_08, 4_37_01, 23, 7_56, 13_53_55, 7, 5, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 5_81, 6_37_73, 11_94_55, 6, 14_77_97, 8_82_03, 7, 6_45, 70, 21, 32_85, 1_02_69, 5, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]}
  				# fmt: on
  
  				self.tokenizer_integration_test_util(
  				    expected_encoding=a_		,    model_name="susnato/ernie-m-base_pytorch"		,    sequences=[
  				        "Transformers (formerly known as pytorch-transformers and pytorch-pretrained-bert) provides "
  				        "general-purpose architectures (BERT, GPT-2, RoBERTa, XLM, DistilBert, XLNet...) for Natural "
  				        "Language Understanding (NLU) and Natural Language Generation (NLG) with over32+ pretrained "
  				        "models in100+ languages and deep interoperability between Jax, PyTorch and TensorFlow.",
  				        "BERT is designed to pre-train deep bidirectional representations from unlabeled text by jointly "
  				        "conditioning on both left and right context in all layers.",
  				        "The quick brown fox jumps over the lazy dog.",
  				    ]		,    )
  
style_context: 
  
  
  
  
  
  
  """simple docstring"""
  
  import gc
  import random
  import unittest
  
  import numpy as np
  import torch
  from PIL import Image
  from transformers import CLIPImageProcessor, CLIPVisionConfig, CLIPVisionModelWithProjection
  
  from diffusers import (
      AutoencoderKL,
      DPMSolverMultistepScheduler,
      PNDMScheduler,
      StableDiffusionImageVariationPipeline,
      UNetaDConditionModel,
  )
  from diffusers.utils import floats_tensor, load_image, load_numpy, nightly, slow, torch_device
  from diffusers.utils.testing_utils import enable_full_determinism, require_torch_gpu
  
  from ..pipeline_params import IMAGE_VARIATION_BATCH_PARAMS, IMAGE_VARIATION_PARAMS
  from ..test_pipelines_common import PipelineKarrasSchedulerTesterMixin, PipelineLatentTesterMixin, PipelineTesterMixin
  
  
  enable_full_determinism()
  
  
  class 	__lowerCamelCase       (				A__				,							A__				,							A__				,							unittest.TestCase    ):
  
  
  
  
  
  		'''simple docstring'''
  
  
  
  
  
  
  		a_			:       Union[str, Any]      =							StableDiffusionImageVariationPipeline
  		a_			:       Tuple      =							IMAGE_VARIATION_PARAMS
  		a_			:       Optional[Any]      =							IMAGE_VARIATION_BATCH_PARAMS
  		a_			:       int      =							frozenset([]    )
  		# TO-DO: update image_params once pipeline is refactored with VaeImageProcessor.preprocess
  		a_			:       Optional[int]      =							frozenset([]    )
  
  
  
  
  
  		def      lowerCamelCase (     self							:			Tuple			):
  				torch.manual_seed(0			)
  				lowerCAmelCase_     :							List[Any]             =    UNetaDConditionModel(
  				    block_out_channels=(32, 64)		,    layers_per_block=2		,    sample_size=32		,    in_channels=4		,    out_channels=4		,    down_block_types=("DownBlock2D", "CrossAttnDownBlock2D")		,    up_block_types=("CrossAttnUpBlock2D", "UpBlock2D")		,    cross_attention_dim=32		,    )
  				lowerCAmelCase_     :							int             =    PNDMScheduler(skip_prk_steps=a_			)
  				torch.manual_seed(0			)
  				lowerCAmelCase_     :							List[Any]             =    AutoencoderKL(
  				    block_out_channels=[32, 64]		,    in_channels=3		,    out_channels=3		,    down_block_types=["DownEncoderBlock2D", "DownEncoderBlock2D"]		,    up_block_types=["UpDecoderBlock2D", "UpDecoderBlock2D"]		,    latent_channels=4		,    )
  				torch.manual_seed(0			)
  				lowerCAmelCase_     :							Dict             =    CLIPVisionConfig(
  				    hidden_size=32		,    projection_dim=32		,    intermediate_size=37		,    layer_norm_eps=1e-0_5		,    num_attention_heads=4		,    num_hidden_layers=5		,    image_size=32		,    patch_size=4		,    )
  				lowerCAmelCase_     :							List[Any]             =    CLIPVisionModelWithProjection(a_			)
  				lowerCAmelCase_     :							Union[str, Any]             =    CLIPImageProcessor(crop_size=32		,    size=32			)
  
  				lowerCAmelCase_     :							List[Any]             =    {
  				    "unet": unet,
  				    "scheduler": scheduler,
  				    "vae": vae,
  				    "image_encoder": image_encoder,
  				    "feature_extractor": feature_extractor,
  				    "safety_checker": None,
  				}
  				return components
  
  
  
  
  
  		def      lowerCamelCase (     self							:			Optional[int]		,    a_							:			Tuple		,    a_							:			str=0			):
  				lowerCAmelCase_     :							List[Any]             =    floats_tensor((1, 3, 32, 32)		,    rng=random.Random(a_			)			)
  				lowerCAmelCase_     :							int             =    image.cpu().permute(0		,    2		,    3		,    1			)[0]
  				lowerCAmelCase_     :							List[str]             =    Image.fromarray(np.uinta(a_			)			).convert("RGB"			).resize((32, 32)			)
  				if str(a_			).startswith("mps"			):
  						lowerCAmelCase_     :							Optional[int]             =    torch.manual_seed(a_			)
  				else:
  						lowerCAmelCase_     :							Optional[Any]             =    torch.Generator(device=a_			).manual_seed(a_			)
  				lowerCAmelCase_     :							str             =    {
  				    "image": image,
  				    "generator": generator,
  				    "num_inference_steps": 2,
  				    "guidance_scale": 6.0,
  				    "output_type": "numpy",
  				}
  				return inputs
  
  
  
  
  
  		def      lowerCamelCase (     self							:			Any			):
  				lowerCAmelCase_     :							int             =    "cpu"  # ensure determinism for the device-dependent torch.Generator
  				lowerCAmelCase_     :							Dict             =    self.get_dummy_components()
  				lowerCAmelCase_     :							Union[str, Any]             =    StableDiffusionImageVariationPipeline(**a_			)
  				lowerCAmelCase_     :							int             =    sd_pipe.to(a_			)
  				sd_pipe.set_progress_bar_config(disable=a_			)
  
  				lowerCAmelCase_     :							Tuple             =    self.get_dummy_inputs(a_			)
  				lowerCAmelCase_     :							List[str]             =    sd_pipe(**a_			).images
  				lowerCAmelCase_     :							List[Any]             =    image[0, -3:, -3:, -1]
  
  				assert image.shape == (1, 64, 64, 3)
  				lowerCAmelCase_     :							List[str]             =    np.array([0.5239, 0.5723, 0.4796, 0.5049, 0.5550, 0.4685, 0.5329, 0.4891, 0.4921]			)
  
  				assert np.abs(image_slice.flatten() - expected_slice			).max() < 1e-3
  
  
  
  
  
  		def      lowerCamelCase (     self							:			Union[str, Any]			):
  				lowerCAmelCase_     :							int             =    "cpu"  # ensure determinism for the device-dependent torch.Generator
  				lowerCAmelCase_     :							Optional[Any]             =    self.get_dummy_components()
  				lowerCAmelCase_     :							Tuple             =    StableDiffusionImageVariationPipeline(**a_			)
  				lowerCAmelCase_     :							List[str]             =    sd_pipe.to(a_			)
  				sd_pipe.set_progress_bar_config(disable=a_			)
  
  				lowerCAmelCase_     :							List[str]             =    self.get_dummy_inputs(a_			)
  				lowerCAmelCase_     :							Optional[Any]             =    2 * [inputs["image"]]
  				lowerCAmelCase_     :							Optional[Any]             =    sd_pipe(**a_			)
  
  				lowerCAmelCase_     :							Union[str, Any]             =    output.images
  
  				lowerCAmelCase_     :							Optional[Any]             =    image[-1, -3:, -3:, -1]
  
  				assert image.shape == (2, 64, 64, 3)
  				lowerCAmelCase_     :							int             =    np.array([0.6892, 0.5637, 0.5836, 0.5771, 0.6254, 0.6409, 0.5580, 0.5569, 0.5289]			)
  
  				assert np.abs(image_slice.flatten() - expected_slice			).max() < 1e-3
  
  
  
  
  
  		def      lowerCamelCase (     self							:			str			):
  				super().test_inference_batch_single_identical(expected_max_diff=3e-3			)
  
  
  
  
  
  
  
  @slow
  @require_torch_gpu
  class 	__lowerCamelCase       (				unittest.TestCase    ):
  
  
  
  
  
  		'''simple docstring'''
  
  
  
  
  
  
  		def      lowerCamelCase (     self							:			int			):
  				super().tearDown()
  				gc.collect()
  				torch.cuda.empty_cache()
  
  
  
  
  
  		def      lowerCamelCase (     self							:			Optional[Any]		,    a_							:			Optional[Any]		,    a_							:			List[str]="cpu"		,    a_							:			Optional[Any]=torch.floataa		,    a_							:			Optional[int]=0			):
  				lowerCAmelCase_     :							str             =    torch.Generator(device=a_			).manual_seed(a_			)
  				lowerCAmelCase_     :							str             =    load_image(
  				    "https://huggingface.co/datasets/diffusers/test-arrays/resolve/main"
  				    "/stable_diffusion_imgvar/input_image_vermeer.png"			)
  				lowerCAmelCase_     :							Optional[Any]             =    np.random.RandomState(a_			).standard_normal((1, 4, 64, 64)			)
  				lowerCAmelCase_     :							List[Any]             =    torch.from_numpy(a_			).to(device=a_		,    dtype=a_			)
  				lowerCAmelCase_     :							Any             =    {
  				    "image": init_image,
  				    "latents": latents,
  				    "generator": generator,
  				    "num_inference_steps": 3,
  				    "guidance_scale": 7.5,
  				    "output_type": "numpy",
  				}
  				return inputs
  
  
  
  
  
  		def      lowerCamelCase (     self							:			Any			):
  				lowerCAmelCase_     :							Tuple             =    StableDiffusionImageVariationPipeline.from_pretrained(
  				    "lambdalabs/sd-image-variations-diffusers"		,    safety_checker=a_			)
  				lowerCAmelCase_     :							int             =    sd_pipe.to(a_			)
  				sd_pipe.set_progress_bar_config(disable=a_			)
  
  				lowerCAmelCase_     :							Union[str, Any]             =    self.get_inputs(a_			)
  				lowerCAmelCase_     :							Union[str, Any]             =    sd_pipe(**a_			).images
  				lowerCAmelCase_     :							Optional[int]             =    image[0, -3:, -3:, -1].flatten()
  
  				assert image.shape == (1, 5_12, 5_12, 3)
  				lowerCAmelCase_     :							Optional[Any]             =    np.array([0.84491, 0.90789, 0.75708, 0.78734, 0.83485, 0.70099, 0.66938, 0.68727, 0.61379]			)
  				assert np.abs(image_slice - expected_slice			).max() < 6e-3
  
  
  
  
  
  		def      lowerCamelCase (     self							:			Dict			):
  				lowerCAmelCase_     :							List[str]             =    0
  
  				def callback_fn(a_							:			int		,    a_							:			int		,    a_							:			torch.FloatTensor			) -> None:
  						lowerCAmelCase_     :							str             =    True
  						nonlocal number_of_steps
  						number_of_steps += 1
  						if step == 1:
  								lowerCAmelCase_     :							str             =    latents.detach().cpu().numpy()
  								assert latents.shape == (1, 4, 64, 64)
  								lowerCAmelCase_     :							Dict             =    latents[0, -3:, -3:, -1]
  								lowerCAmelCase_     :							List[Any]             =    np.array(
  								    [-0.1621, 0.2837, -0.7979, -0.1221, -1.3057, 0.7681, -2.1191, 0.0464, 1.6309]			)
  
  								assert np.abs(latents_slice.flatten() - expected_slice			).max() < 5e-2
  						elif step == 2:
  								lowerCAmelCase_     :							Dict             =    latents.detach().cpu().numpy()
  								assert latents.shape == (1, 4, 64, 64)
  								lowerCAmelCase_     :							Tuple             =    latents[0, -3:, -3:, -1]
  								lowerCAmelCase_     :							Dict             =    np.array([0.6299, 1.7500, 1.1992, -2.1582, -1.8994, 0.7334, -0.7090, 1.0137, 1.5273]			)
  
  								assert np.abs(latents_slice.flatten() - expected_slice			).max() < 5e-2
  
  				lowerCAmelCase_     :							Union[str, Any]             =    False
  
  				lowerCAmelCase_     :							str             =    StableDiffusionImageVariationPipeline.from_pretrained(
  				    "fusing/sd-image-variations-diffusers"		,    safety_checker=a_		,    torch_dtype=torch.floataa		,    )
  				pipe.to(a_			)
  				pipe.set_progress_bar_config(disable=a_			)
  				pipe.enable_attention_slicing()
  
  				lowerCAmelCase_     :							Tuple             =    self.get_inputs(a_		,    dtype=torch.floataa			)
  				pipe(**a_		,    callback=a_		,    callback_steps=1			)
  				assert callback_fn.has_been_called
  				assert number_of_steps == inputs["num_inference_steps"]
  
  
  
  
  
  		def      lowerCamelCase (     self							:			Optional[Any]			):
  				torch.cuda.empty_cache()
  				torch.cuda.reset_max_memory_allocated()
  				torch.cuda.reset_peak_memory_stats()
  
  				lowerCAmelCase_     :							Tuple             =    "fusing/sd-image-variations-diffusers"
  				lowerCAmelCase_     :							str             =    StableDiffusionImageVariationPipeline.from_pretrained(
  				    a_		,    safety_checker=a_		,    torch_dtype=torch.floataa			)
  				lowerCAmelCase_     :							int             =    pipe.to(a_			)
  				pipe.set_progress_bar_config(disable=a_			)
  				pipe.enable_attention_slicing(1			)
  				pipe.enable_sequential_cpu_offload()
  
  				lowerCAmelCase_     :							List[str]             =    self.get_inputs(a_		,    dtype=torch.floataa			)
  				lowerCAmelCase_     :							Any             =    pipe(**a_			)
  
  				lowerCAmelCase_     :							List[Any]             =    torch.cuda.max_memory_allocated()
  				# make sure that less than 2.6 GB is allocated
  				assert mem_bytes < 2.6 * 10**9
  
  
  
  
  
  
  
  @nightly
  @require_torch_gpu
  class 	__lowerCamelCase       (				unittest.TestCase    ):
  
  
  
  
  
  		'''simple docstring'''
  
  
  
  
  
  
  		def      lowerCamelCase (     self							:			Tuple			):
  				super().tearDown()
  				gc.collect()
  				torch.cuda.empty_cache()
  
  
  
  
  
  		def      lowerCamelCase (     self							:			Optional[int]		,    a_							:			int		,    a_							:			int="cpu"		,    a_							:			str=torch.floataa		,    a_							:			Optional[Any]=0			):
  				lowerCAmelCase_     :							str             =    torch.Generator(device=a_			).manual_seed(a_			)
  				lowerCAmelCase_     :							int             =    load_image(
  				    "https://huggingface.co/datasets/diffusers/test-arrays/resolve/main"
  				    "/stable_diffusion_imgvar/input_image_vermeer.png"			)
  				lowerCAmelCase_     :							Optional[Any]             =    np.random.RandomState(a_			).standard_normal((1, 4, 64, 64)			)
  				lowerCAmelCase_     :							Optional[int]             =    torch.from_numpy(a_			).to(device=a_		,    dtype=a_			)
  				lowerCAmelCase_     :							Union[str, Any]             =    {
  				    "image": init_image,
  				    "latents": latents,
  				    "generator": generator,
  				    "num_inference_steps": 50,
  				    "guidance_scale": 7.5,
  				    "output_type": "numpy",
  				}
  				return inputs
  
  
  
  
  
  		def      lowerCamelCase (     self							:			Optional[int]			):
  				lowerCAmelCase_     :							Any             =    StableDiffusionImageVariationPipeline.from_pretrained("fusing/sd-image-variations-diffusers"			)
  				sd_pipe.to(a_			)
  				sd_pipe.set_progress_bar_config(disable=a_			)
  
  				lowerCAmelCase_     :							List[str]             =    self.get_inputs(a_			)
  				lowerCAmelCase_     :							int             =    sd_pipe(**a_			).images[0]
  
  				lowerCAmelCase_     :							Optional[Any]             =    load_numpy(
  				    "https://huggingface.co/datasets/diffusers/test-arrays/resolve/main"
  				    "/stable_diffusion_imgvar/lambdalabs_variations_pndm.npy"			)
  				lowerCAmelCase_     :							List[Any]             =    np.abs(expected_image - image			).max()
  				assert max_diff < 1e-3
  
  
  
  
  
  		def      lowerCamelCase (     self							:			Any			):
  				lowerCAmelCase_     :							List[Any]             =    StableDiffusionImageVariationPipeline.from_pretrained("fusing/sd-image-variations-diffusers"			)
  				lowerCAmelCase_     :							Tuple             =    DPMSolverMultistepScheduler.from_config(sd_pipe.scheduler.config			)
  				sd_pipe.to(a_			)
  				sd_pipe.set_progress_bar_config(disable=a_			)
  
  				lowerCAmelCase_     :							Optional[int]             =    self.get_inputs(a_			)
  				lowerCAmelCase_     :							Tuple             =    25
  				lowerCAmelCase_     :							int             =    sd_pipe(**a_			).images[0]
  
  				lowerCAmelCase_     :							Union[str, Any]             =    load_numpy(
  				    "https://huggingface.co/datasets/diffusers/test-arrays/resolve/main"
  				    "/stable_diffusion_imgvar/lambdalabs_variations_dpm_multi.npy"			)
  				lowerCAmelCase_     :							Optional[Any]             =    np.abs(expected_image - image			).max()
  				assert max_diff < 1e-3
  