






import unittest

from transformers import is_torch_available
from transformers.testing_utils import require_sentencepiece, require_tokenizers, require_torch, slow


if is_torch_available():
 import torch

 from transformers import XLMRobertaModel





@require_sentencepiece
@require_tokenizers
@require_torch
class       __a  (   unittest.TestCase	):







 @slow
 def  __lowercase (		self :       List[Any]						):


      '''simple docstring'''






      UpperCamelCase__      :       Tuple	    =  XLMRobertaModel.from_pretrained("xlm-roberta-base"						)
      UpperCamelCase__      :       int	    =  torch.tensor([[0, 5_81, 1_02_69, 83, 9_99_42, 1_36, 6_07_42, 23, 70, 8_05_83, 1_82_76, 2]]						)
      # The dog is cute and lives in the garden house

      UpperCamelCase__      :       Optional[Any]	    =  torch.Size((1, 12, 7_68)						)  # batch_size, sequence_length, embedding_vector_dim
      UpperCamelCase__      :       Optional[int]	    =  torch.tensor(
          [[-0.0_1_0_1, 0.1_2_1_8, -0.0_8_0_3, 0.0_8_0_1, 0.1_3_2_7, 0.0_7_7_6, -0.1_2_1_5, 0.2_3_8_3, 0.3_3_3_8, 0.3_1_0_6, 0.0_3_0_0, 0.0_2_5_2]]						)
      #  xlmr = torch.hub.load('pytorch/fairseq', 'xlmr.base')
      #  xlmr.eval()
      #  expected_output_values_last_dim = xlmr.extract_features(input_ids[0])[:, :, -1]
      with torch.no_grad():
           UpperCamelCase__      :       str	    =  model(SCREAMING_SNAKE_CASE						)["last_hidden_state"].detach()
      self.assertEqual(output.shape							,       SCREAMING_SNAKE_CASE						)
      # compare the actual values for a slice of last dim
      self.assertTrue(torch.allclose(output[:, :, -1]							,       SCREAMING_SNAKE_CASE							,       atol=1e-3						)						)







 @slow
 def  __lowercase (		self :       str						):


      '''simple docstring'''






      UpperCamelCase__      :       Dict	    =  XLMRobertaModel.from_pretrained("xlm-roberta-large"						)
      UpperCamelCase__      :       str	    =  torch.tensor([[0, 5_81, 1_02_69, 83, 9_99_42, 1_36, 6_07_42, 23, 70, 8_05_83, 1_82_76, 2]]						)
      # The dog is cute and lives in the garden house

      UpperCamelCase__      :       Tuple	    =  torch.Size((1, 12, 10_24)						)  # batch_size, sequence_length, embedding_vector_dim
      UpperCamelCase__      :       Any	    =  torch.tensor(
          [[-0.0_6_9_9, -0.0_3_1_8, 0.0_7_0_5, -0.1_2_4_1, 0.0_9_9_9, -0.0_5_2_0, 0.1_0_0_4, -0.1_8_3_8, -0.4_7_0_4, 0.1_4_3_7, 0.0_8_2_1, 0.0_1_2_6]]						)
      #  xlmr = torch.hub.load('pytorch/fairseq', 'xlmr.large')
      #  xlmr.eval()
      #  expected_output_values_last_dim = xlmr.extract_features(input_ids[0])[:, :, -1]
      with torch.no_grad():
           UpperCamelCase__      :       Optional[Any]	    =  model(SCREAMING_SNAKE_CASE						)["last_hidden_state"].detach()
      self.assertEqual(output.shape							,       SCREAMING_SNAKE_CASE						)
      # compare the actual values for a slice of last dim
      self.assertTrue(torch.allclose(output[:, :, -1]							,       SCREAMING_SNAKE_CASE							,       atol=1e-3						)						)







import gc
import tempfile
import unittest

import numpy as np
import torch

from diffusers import VersatileDiffusionPipeline
from diffusers.utils.testing_utils import load_image, nightly, require_torch_gpu, torch_device


lowerCamelCase     :							Optional[Any]    =False





class       __a  (   unittest.TestCase	):
 pass







@nightly
@require_torch_gpu
class       __a  (   unittest.TestCase	):







 def  __lowercase (		self :       Any						):


      '''simple docstring'''






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







 def  __lowercase (		self :       Dict						):


      '''simple docstring'''






      UpperCamelCase__      :       int	    =  VersatileDiffusionPipeline.from_pretrained("shi-labs/versatile-diffusion"							,       torch_dtype=torch.floataa						)
      pipe.to(SCREAMING_SNAKE_CASE						)
      pipe.set_progress_bar_config(disable=SCREAMING_SNAKE_CASE						)

      UpperCamelCase__      :       Optional[int]	    =  load_image(
          "https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/versatile_diffusion/benz.jpg"						)

      UpperCamelCase__      :       Dict	    =  torch.manual_seed(0						)
      UpperCamelCase__      :       str	    =  pipe.dual_guided(
          prompt="first prompt"							,       image=SCREAMING_SNAKE_CASE							,       text_to_image_strength=0.7_5							,       generator=SCREAMING_SNAKE_CASE							,       guidance_scale=7.5							,       num_inference_steps=2							,       output_type="numpy"							,       ).images

      with tempfile.TemporaryDirectory() as tmpdirname:
           pipe.save_pretrained(SCREAMING_SNAKE_CASE						)
           UpperCamelCase__      :       Tuple	    =  VersatileDiffusionPipeline.from_pretrained(SCREAMING_SNAKE_CASE							,       torch_dtype=torch.floataa						)
      pipe.to(SCREAMING_SNAKE_CASE						)
      pipe.set_progress_bar_config(disable=SCREAMING_SNAKE_CASE						)

      UpperCamelCase__      :       int	    =  generator.manual_seed(0						)
      UpperCamelCase__      :       Dict	    =  pipe.dual_guided(
          prompt="first prompt"							,       image=SCREAMING_SNAKE_CASE							,       text_to_image_strength=0.7_5							,       generator=SCREAMING_SNAKE_CASE							,       guidance_scale=7.5							,       num_inference_steps=2							,       output_type="numpy"							,       ).images

      assert np.abs(image - new_image						).sum() < 1e-5, "Models don't have the same forward pass"







 def  __lowercase (		self :       Optional[int]						):


      '''simple docstring'''






      UpperCamelCase__      :       Optional[int]	    =  VersatileDiffusionPipeline.from_pretrained("shi-labs/versatile-diffusion"							,       torch_dtype=torch.floataa						)
      pipe.to(SCREAMING_SNAKE_CASE						)
      pipe.set_progress_bar_config(disable=SCREAMING_SNAKE_CASE						)

      UpperCamelCase__      :       Tuple	    =  "cyberpunk 2077"
      UpperCamelCase__      :       Any	    =  load_image(
          "https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/versatile_diffusion/benz.jpg"						)
      UpperCamelCase__      :       int	    =  torch.manual_seed(0						)
      UpperCamelCase__      :       Any	    =  pipe.dual_guided(
          prompt=SCREAMING_SNAKE_CASE							,       image=SCREAMING_SNAKE_CASE							,       text_to_image_strength=0.7_5							,       generator=SCREAMING_SNAKE_CASE							,       guidance_scale=7.5							,       num_inference_steps=50							,       output_type="numpy"							,       ).images

      UpperCamelCase__      :       Tuple	    =  image[0, 2_53:2_56, 2_53:2_56, -1]

      assert image.shape == (1, 5_12, 5_12, 3)
      UpperCamelCase__      :       Optional[int]	    =  np.array([0.1_4_4_8, 0.1_6_1_9, 0.1_7_4_1, 0.1_0_8_6, 0.1_1_4_7, 0.1_1_2_8, 0.1_1_9_9, 0.1_1_6_5, 0.1_0_0_1]						)

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

      UpperCamelCase__      :       List[str]	    =  "A painting of a squirrel eating a burger "
      UpperCamelCase__      :       List[Any]	    =  torch.manual_seed(0						)
      UpperCamelCase__      :       Dict	    =  pipe.text_to_image(
          prompt=SCREAMING_SNAKE_CASE							,       generator=SCREAMING_SNAKE_CASE							,       guidance_scale=7.5							,       num_inference_steps=50							,       output_type="numpy"						).images

      UpperCamelCase__      :       Union[str, Any]	    =  image[0, 2_53:2_56, 2_53:2_56, -1]

      assert image.shape == (1, 5_12, 5_12, 3)
      UpperCamelCase__      :       Dict	    =  np.array([0.3_3_6_7, 0.3_1_6_9, 0.2_6_5_6, 0.3_8_7_0, 0.4_7_9_0, 0.3_7_9_6, 0.4_0_0_9, 0.4_8_7_8, 0.4_7_7_8]						)

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

      UpperCamelCase__      :       Any	    =  pipe.image_variation(SCREAMING_SNAKE_CASE							,       generator=SCREAMING_SNAKE_CASE							,       output_type="numpy"						).images

      UpperCamelCase__      :       Optional[Any]	    =  image[0, 2_53:2_56, 2_53:2_56, -1]

      assert image.shape == (1, 5_12, 5_12, 3)
      UpperCamelCase__      :       int	    =  np.array([0.3_0_7_6, 0.3_1_2_3, 0.3_2_8_4, 0.3_7_8_2, 0.3_7_7_0, 0.3_8_9_4, 0.4_2_9_7, 0.4_3_3_1, 0.4_4_5_6]						)

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