

"""simple docstring"""




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    lowerCamelCase						(unittest.TestCase			):

			@slow
			def 					SCREAMING_SNAKE_CASE				(					self				:						Dict       )   ->    int:
						SCREAMING_SNAKE_CASE__								=      XLMRobertaModel.from_pretrained("""xlm-roberta-base"""       )
						SCREAMING_SNAKE_CASE__								=      torch.tensor([[0, 5_8_1, 1_0_2_6_9, 8_3, 9_9_9_4_2, 1_3_6, 6_0_7_4_2, 2_3, 7_0, 8_0_5_8_3, 1_8_2_7_6, 2]]       )
						# The dog is cute and lives in the garden house

						SCREAMING_SNAKE_CASE__								=      torch.Size((1, 1_2, 7_6_8)       )  # batch_size, sequence_length, embedding_vector_dim
						SCREAMING_SNAKE_CASE__								=      torch.tensor(
						    [[-0.0_101, 0.1_218, -0.0_803, 0.0_801, 0.1_327, 0.0_776, -0.1_215, 0.2_383, 0.3_338, 0.3_106, 0.0_300, 0.0_252]]       )
						#  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():
									SCREAMING_SNAKE_CASE__								=      model(__UpperCAmelCase       )["""last_hidden_state"""].detach()
						self.assertEqual(output.shape    ,				__UpperCAmelCase       )
						# compare the actual values for a slice of last dim
						self.assertTrue(torch.allclose(output[:, :, -1]    ,				__UpperCAmelCase    ,				atol=1e-3       )       )





			@slow
			def 					SCREAMING_SNAKE_CASE				(					self				:						Optional[int]       )   ->    Any:
						SCREAMING_SNAKE_CASE__								=      XLMRobertaModel.from_pretrained("""xlm-roberta-large"""       )
						SCREAMING_SNAKE_CASE__								=      torch.tensor([[0, 5_8_1, 1_0_2_6_9, 8_3, 9_9_9_4_2, 1_3_6, 6_0_7_4_2, 2_3, 7_0, 8_0_5_8_3, 1_8_2_7_6, 2]]       )
						# The dog is cute and lives in the garden house

						SCREAMING_SNAKE_CASE__								=      torch.Size((1, 1_2, 1_0_2_4)       )  # batch_size, sequence_length, embedding_vector_dim
						SCREAMING_SNAKE_CASE__								=      torch.tensor(
						    [[-0.0_699, -0.0_318, 0.0_705, -0.1_241, 0.0_999, -0.0_520, 0.1_004, -0.1_838, -0.4_704, 0.1_437, 0.0_821, 0.0_126]]       )
						#  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():
									SCREAMING_SNAKE_CASE__								=      model(__UpperCAmelCase       )["""last_hidden_state"""].detach()
						self.assertEqual(output.shape    ,				__UpperCAmelCase       )
						# compare the actual values for a slice of last dim
						self.assertTrue(torch.allclose(output[:, :, -1]    ,				__UpperCAmelCase    ,				atol=1e-3       )       )





"""simple docstring"""




import unittest

import numpy as np
import torch

from diffusers import KarrasVePipeline, KarrasVeScheduler, UNetaDModel
from diffusers.utils.testing_utils import enable_full_determinism, require_torch, slow, torch_device


enable_full_determinism()





class    lowerCamelCase						(unittest.TestCase			):

			@property
			def 					SCREAMING_SNAKE_CASE				(					self				:						Dict       )   ->    Any:
						torch.manual_seed(0       )
						SCREAMING_SNAKE_CASE__								=      UNetaDModel(
						    block_out_channels=(3_2, 6_4)    ,				layers_per_block=2    ,				sample_size=3_2    ,				in_channels=3    ,				out_channels=3    ,				down_block_types=("""DownBlock2D""", """AttnDownBlock2D""")    ,				up_block_types=("""AttnUpBlock2D""", """UpBlock2D""")    ,				)
						return model





			def 					SCREAMING_SNAKE_CASE				(					self				:						Any       )   ->    Tuple:
						SCREAMING_SNAKE_CASE__								=      self.dummy_uncond_unet
						SCREAMING_SNAKE_CASE__								=      KarrasVeScheduler()

						SCREAMING_SNAKE_CASE__								=      KarrasVePipeline(unet=__UpperCAmelCase    ,				scheduler=__UpperCAmelCase       )
						pipe.to(__UpperCAmelCase       )
						pipe.set_progress_bar_config(disable=__UpperCAmelCase       )

						SCREAMING_SNAKE_CASE__								=      torch.manual_seed(0       )
						SCREAMING_SNAKE_CASE__								=      pipe(num_inference_steps=2    ,				generator=__UpperCAmelCase    ,				output_type="""numpy"""       ).images

						SCREAMING_SNAKE_CASE__								=      torch.manual_seed(0       )
						SCREAMING_SNAKE_CASE__								=      pipe(num_inference_steps=2    ,				generator=__UpperCAmelCase    ,				output_type="""numpy"""    ,				return_dict=__UpperCAmelCase       )[0]

						SCREAMING_SNAKE_CASE__								=      image[0, -3:, -3:, -1]
						SCREAMING_SNAKE_CASE__								=      image_from_tuple[0, -3:, -3:, -1]

						assert image.shape == (1, 3_2, 3_2, 3)
						SCREAMING_SNAKE_CASE__								=      np.array([0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0]       )

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





@slow
@require_torch
class    lowerCamelCase						(unittest.TestCase			):

			def 					SCREAMING_SNAKE_CASE				(					self				:						Optional[Any]       )   ->    Optional[int]:
						SCREAMING_SNAKE_CASE__								=      """google/ncsnpp-celebahq-256"""
						SCREAMING_SNAKE_CASE__								=      UNetaDModel.from_pretrained(__UpperCAmelCase       )
						SCREAMING_SNAKE_CASE__								=      KarrasVeScheduler()

						SCREAMING_SNAKE_CASE__								=      KarrasVePipeline(unet=__UpperCAmelCase    ,				scheduler=__UpperCAmelCase       )
						pipe.to(__UpperCAmelCase       )
						pipe.set_progress_bar_config(disable=__UpperCAmelCase       )

						SCREAMING_SNAKE_CASE__								=      torch.manual_seed(0       )
						SCREAMING_SNAKE_CASE__								=      pipe(num_inference_steps=2_0    ,				generator=__UpperCAmelCase    ,				output_type="""numpy"""       ).images

						SCREAMING_SNAKE_CASE__								=      image[0, -3:, -3:, -1]
						assert image.shape == (1, 2_5_6, 2_5_6, 3)
						SCREAMING_SNAKE_CASE__								=      np.array([0.578, 0.5_811, 0.5_924, 0.5_809, 0.587, 0.5_886, 0.5_861, 0.5_802, 0.586]       )

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


