

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


		"""simple docstring"""




		@slow
		def 		A__					(				self):
			_UpperCamelCase   :		Dict			=						XLMRobertaModel.from_pretrained('xlm-roberta-base')
			_UpperCamelCase   :		Optional[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   :		str			=						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   :		List[Any]			=						model(__snake_case)['last_hidden_state'].detach()
			self.assertEqual(output.shape	,       __snake_case)
			# compare the actual values for a slice of last dim
			self.assertTrue(torch.allclose(output[:, :, -1]	,       __snake_case	,       atol=1e-3))






		@slow
		def 		A__					(				self):
			_UpperCamelCase   :		Optional[Any]			=						XLMRobertaModel.from_pretrained('xlm-roberta-large')
			_UpperCamelCase   :		Tuple			=						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   :		Dict			=						torch.Size((1, 12, 10_24))  # batch_size, sequence_length, embedding_vector_dim
			_UpperCamelCase   :		List[str]			=						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   :		str			=						model(__snake_case)['last_hidden_state'].detach()
			self.assertEqual(output.shape	,       __snake_case)
			# compare the actual values for a slice of last dim
			self.assertTrue(torch.allclose(output[:, :, -1]	,       __snake_case	,       atol=1e-3))







from .glue import glue_convert_examples_to_features, glue_output_modes, glue_processors, glue_tasks_num_labels
from .squad import SquadExample, SquadFeatures, SquadVaProcessor, SquadVaProcessor, squad_convert_examples_to_features
from .utils import DataProcessor, InputExample, InputFeatures, SingleSentenceClassificationProcessor
from .xnli import xnli_output_modes, xnli_processors, xnli_tasks_num_labels




