

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

	"""simple docstring"""





	@slow
	def 						UpperCAmelCase_   (				self    :       Optional[Any]     ) ->			Optional[Any]:
						__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 						UpperCAmelCase_   (				self    :       Optional[Any]     ) ->			int:
						__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 numpy as np
from matplotlib import pyplot as plt
from sklearn.datasets import load_iris
from sklearn.metrics import ConfusionMatrixDisplay
from sklearn.model_selection import train_test_split
from xgboost import XGBClassifier




def      UpperCAmelCase__ (lowerCAmelCase_     ):




					'''simple docstring'''


					return (data["data"], data["target"])




def      UpperCAmelCase__ (lowerCAmelCase_						,		lowerCAmelCase_     ):




					'''simple docstring'''


					__SCREAMING_SNAKE_CASE		     =       XGBClassifier()
					classifier.fit(lowerCAmelCase_						,		lowerCAmelCase_     )
					return classifier




def      UpperCAmelCase__ ():




					'''simple docstring'''


					__SCREAMING_SNAKE_CASE		     =       load_iris()
					__SCREAMING_SNAKE_CASE     ,						__SCREAMING_SNAKE_CASE		     =       data_handling(lowerCAmelCase_     )
					__SCREAMING_SNAKE_CASE     ,						__SCREAMING_SNAKE_CASE     ,						__SCREAMING_SNAKE_CASE     ,						__SCREAMING_SNAKE_CASE		     =       train_test_split(
					    lowerCAmelCase_						,		lowerCAmelCase_						,		test_size=0.25     )

					__SCREAMING_SNAKE_CASE		     =       iris["target_names"]

					# Create an XGBoost Classifier from the training data
					__SCREAMING_SNAKE_CASE		     =       xgboost(lowerCAmelCase_						,		lowerCAmelCase_     )

					# Display the confusion matrix of the classifier with both training and test sets
					ConfusionMatrixDisplay.from_estimator(
					    lowerCAmelCase_						,		lowerCAmelCase_						,		lowerCAmelCase_						,		display_labels=lowerCAmelCase_						,		cmap="Blues"						,		normalize="true"						,		)
					plt.title("Normalized Confusion Matrix - IRIS Dataset"     )
					plt.show()


if __name__ == "__main__":
		import doctest

		doctest.testmod(verbose=True)
		main()
