


from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder


# @@protoc_insertion_point(imports)

lowerCAmelCase__			:      Optional[int]								=_symbol_database.Default()


lowerCAmelCase__			:      Optional[int]								=_descriptor_pool.Default().AddSerializedFile(
    b'\n\x19sentencepiece_model.proto\x12\rsentencepiece"\x80\x0c\n\x0bTrainerSpec\x12\r\n\x05input\x18\x01 \x03(\t\x12\x14\n\x0cinput_format\x18\x07 \x01(\t\x12\x14\n\x0cmodel_prefix\x18\x02 \x01(\t\x12\x41\n\nmodel_type\x18\x03 \x01(\x0e\x32$.sentencepiece.TrainerSpec.ModelType:\x07UNIGRAM\x12\x18\n\nvocab_size\x18\x04 \x01(\x05:\x04\x38\x30\x30\x30\x12\x17\n\x0f\x61\x63\x63\x65pt_language\x18\x05 \x03(\t\x12 \n\x15self_test_sample_size\x18\x06 \x01(\x05:\x01\x30\x12*\n\x1b\x65nable_differential_privacy\x18\x32 \x01(\x08:\x05\x66\x61lse\x12+\n differential_privacy_noise_level\x18\x33 \x01(\x02:\x01\x30\x12\x32\n\'differential_privacy_clipping_threshold\x18\x34 \x01(\x04:\x01\x30\x12"\n\x12\x63haracter_coverage\x18\n \x01(\x02:\x06\x30.9995\x12\x1e\n\x13input_sentence_size\x18\x0b \x01(\x04:\x01\x30\x12$\n\x16shuffle_input_sentence\x18\x13 \x01(\x08:\x04true\x12 \n\x14mining_sentence_size\x18\x0c \x01(\x05\x42\x02\x18\x01\x12"\n\x16training_sentence_size\x18\r \x01(\x05\x42\x02\x18\x01\x12(\n\x17seed_sentencepiece_size\x18\x0e \x01(\x05:\x07\x31\x30\x30\x30\x30\x30\x30\x12\x1e\n\x10shrinking_factor\x18\x0f \x01(\x02:\x04\x30.75\x12!\n\x13max_sentence_length\x18\x12 \x01(\x05:\x04\x34\x31\x39\x32\x12\x17\n\x0bnum_threads\x18\x10 \x01(\x05:\x02\x31\x36\x12\x1d\n\x12num_sub_iterations\x18\x11 \x01(\x05:\x01\x32\x12$\n\x18max_sentencepiece_length\x18\x14 \x01(\x05:\x02\x31\x36\x12%\n\x17split_by_unicode_script\x18\x15 \x01(\x08:\x04true\x12\x1d\n\x0fsplit_by_number\x18\x17 \x01(\x08:\x04true\x12!\n\x13split_by_whitespace\x18\x16 \x01(\x08:\x04true\x12)\n\x1atreat_whitespace_as_suffix\x18\x18 \x01(\x08:\x05\x66\x61lse\x12+\n\x1c\x61llow_whitespace_only_pieces\x18\x1a \x01(\x08:\x05\x66\x61lse\x12\x1b\n\x0csplit_digits\x18\x19 \x01(\x08:\x05\x66\x61lse\x12#\n\x19pretokenization_delimiter\x18\x35 \x01(\t:\x00\x12\x17\n\x0f\x63ontrol_symbols\x18\x1e \x03(\t\x12\x1c\n\x14user_defined_symbols\x18\x1f \x03(\t\x12\x16\n\x0erequired_chars\x18$ \x01(\t\x12\x1c\n\rbyte_fallback\x18# \x01(\x08:\x05\x66\x61lse\x12+\n\x1dvocabulary_output_piece_score\x18  \x01(\x08:\x04true\x12\x1e\n\x10hard_vocab_limit\x18! \x01(\x08:\x04true\x12\x1c\n\ruse_all_vocab\x18" \x01(\x08:\x05\x66\x61lse\x12\x11\n\x06unk_id\x18( \x01(\x05:\x01\x30\x12\x11\n\x06\x62os_id\x18) \x01(\x05:\x01\x31\x12\x11\n\x06\x65os_id\x18* \x01(\x05:\x01\x32\x12\x12\n\x06pad_id\x18+ \x01(\x05:\x02-1\x12\x18\n\tunk_piece\x18- \x01(\t:\x05<unk>\x12\x16\n\tbos_piece\x18. \x01(\t:\x03<s>\x12\x17\n\teos_piece\x18/ \x01(\t:\x04</s>\x12\x18\n\tpad_piece\x18\x30 \x01(\t:\x05<pad>\x12\x1a\n\x0bunk_surface\x18, \x01(\t:\x05 \xe2\x81\x87 \x12+\n\x1ctrain_extremely_large_corpus\x18\x31 \x01(\x08:\x05\x66\x61lse"5\n\tModelType\x12\x0b\n\x07UNIGRAM\x10\x01\x12\x07\n\x03\x42PE\x10\x02\x12\x08\n\x04WORD\x10\x03\x12\x08\n\x04\x43HAR\x10\x04*\t\x08\xc8\x01\x10\x80\x80\x80\x80\x02"\xd1\x01\n\x0eNormalizerSpec\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1c\n\x14precompiled_charsmap\x18\x02 \x01(\x0c\x12\x1e\n\x10\x61\x64\x64_dummy_prefix\x18\x03 \x01(\x08:\x04true\x12&\n\x18remove_extra_whitespaces\x18\x04 \x01(\x08:\x04true\x12 \n\x12\x65scape_whitespaces\x18\x05 \x01(\x08:\x04true\x12\x1e\n\x16normalization_rule_tsv\x18\x06 \x01(\t*\t\x08\xc8\x01\x10\x80\x80\x80\x80\x02"y\n\x0cSelfTestData\x12\x33\n\x07samples\x18\x01 \x03(\x0b\x32".sentencepiece.SelfTestData.Sample\x1a)\n\x06Sample\x12\r\n\x05input\x18\x01 \x01(\t\x12\x10\n\x08\x65xpected\x18\x02 \x01(\t*\t\x08\xc8\x01\x10\x80\x80\x80\x80\x02"\xfe\x03\n\nModelProto\x12\x37\n\x06pieces\x18\x01 \x03(\x0b\x32\'.sentencepiece.ModelProto.SentencePiece\x12\x30\n\x0ctrainer_spec\x18\x02 \x01(\x0b\x32\x1a.sentencepiece.TrainerSpec\x12\x36\n\x0fnormalizer_spec\x18\x03 \x01(\x0b\x32\x1d.sentencepiece.NormalizerSpec\x12\x33\n\x0eself_test_data\x18\x04 \x01(\x0b\x32\x1b.sentencepiece.SelfTestData\x12\x38\n\x11\x64\x65normalizer_spec\x18\x05 \x01(\x0b\x32\x1d.sentencepiece.NormalizerSpec\x1a\xd2\x01\n\rSentencePiece\x12\r\n\x05piece\x18\x01 \x01(\t\x12\r\n\x05score\x18\x02 \x01(\x02\x12\x42\n\x04type\x18\x03 \x01(\x0e\x32,.sentencepiece.ModelProto.SentencePiece.Type:\x06NORMAL"T\n\x04Type\x12\n\n\x06NORMAL\x10\x01\x12\x0b\n\x07UNKNOWN\x10\x02\x12\x0b\n\x07\x43ONTROL\x10\x03\x12\x10\n\x0cUSER_DEFINED\x10\x04\x12\x08\n\x04\x42YTE\x10\x06\x12\n\n\x06UNUSED\x10\x05*\t\x08\xc8\x01\x10\x80\x80\x80\x80\x02*\t\x08\xc8\x01\x10\x80\x80\x80\x80\x02\x42\x02H\x03'
)

lowerCAmelCase__			:      Any								=globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sentencepiece_model_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS is False:
				lowerCAmelCase__			:      List[Any]								=None
				lowerCAmelCase__			:      Any								=b'H\003'
				# (generated by protobuf compiler, but `_TRAINERSPEC` is not defined)
				# _TRAINERSPEC.fields_by_name["mining_sentence_size"]._options = None
				# _TRAINERSPEC.fields_by_name["mining_sentence_size"]._serialized_options = b"\030\001"
				# _TRAINERSPEC.fields_by_name["training_sentence_size"]._options = None
				# _TRAINERSPEC.fields_by_name["training_sentence_size"]._serialized_options = b"\030\001"
				lowerCAmelCase__			:      str								=45
				lowerCAmelCase__			:      List[str]								=15_81
				lowerCAmelCase__			:      Optional[int]								=15_17
				lowerCAmelCase__			:      Any								=15_70
				lowerCAmelCase__			:      Optional[Any]								=15_84
				lowerCAmelCase__			:      List[str]								=17_93
				lowerCAmelCase__			:      int								=17_95
				lowerCAmelCase__			:      Optional[int]								=19_16
				lowerCAmelCase__			:      str								=18_64
				lowerCAmelCase__			:      int								=19_05
				lowerCAmelCase__			:      Union[str, Any]								=19_19
				lowerCAmelCase__			:      Any								=24_29
				lowerCAmelCase__			:      Union[str, Any]								=22_08
				lowerCAmelCase__			:      List[Any]								=24_18
				lowerCAmelCase__			:      Optional[int]								=23_23
				lowerCAmelCase__			:      int								=24_07
# @@protoc_insertion_point(module_scope)









import copy
import inspect
import unittest

from transformers import PretrainedConfig, SwiftFormerConfig
from transformers.testing_utils import (
    require_torch,
    require_vision,
    slow,
    torch_device,
)
from transformers.utils import cached_property, is_torch_available, is_vision_available

from ...test_configuration_common import ConfigTester
from ...test_modeling_common import ModelTesterMixin, floats_tensor, ids_tensor
from ...test_pipeline_mixin import PipelineTesterMixin


if is_torch_available():
				import torch
				from torch import nn

				from transformers import SwiftFormerForImageClassification, SwiftFormerModel
				from transformers.models.swiftformer.modeling_swiftformer import SWIFTFORMER_PRETRAINED_MODEL_ARCHIVE_LIST


if is_vision_available():
				from PIL import Image

				from transformers import ViTImageProcessor







class 	__lowercase    :





							"""simple docstring"""







							def __init__(      self			,						lowerCAmelCase__			,						lowerCAmelCase__=1_3			,						lowerCAmelCase__=3			,						lowerCAmelCase__=True			,						lowerCAmelCase__=True			,						lowerCAmelCase__=0.1			,						lowerCAmelCase__=0.1			,						lowerCAmelCase__=2_2_4			,						lowerCAmelCase__=1_0_0_0			,						lowerCAmelCase__=[3, 3, 6, 4]			,						lowerCAmelCase__=[4_8, 5_6, 1_1_2, 2_2_0]			,						):





										"""simple docstring"""




										SCREAMING_SNAKE_CASE_		:     str					=					parent
										SCREAMING_SNAKE_CASE_		:     Optional[int]					=					batch_size
										SCREAMING_SNAKE_CASE_		:     Optional[int]					=					num_channels
										SCREAMING_SNAKE_CASE_		:     List[Any]					=					is_training
										SCREAMING_SNAKE_CASE_		:     str					=					use_labels
										SCREAMING_SNAKE_CASE_		:     List[Any]					=					hidden_dropout_prob
										SCREAMING_SNAKE_CASE_		:     Tuple					=					attention_probs_dropout_prob
										SCREAMING_SNAKE_CASE_		:     int					=					num_labels
										SCREAMING_SNAKE_CASE_		:     List[Any]					=					image_size
										SCREAMING_SNAKE_CASE_		:     Optional[Any]					=					layer_depths
										SCREAMING_SNAKE_CASE_		:     List[Any]					=					embed_dims






							def 					UpperCamelCase__     (      self       ):





										"""simple docstring"""




										SCREAMING_SNAKE_CASE_		:     List[Any]					=					floats_tensor([self.batch_size, self.num_channels, self.image_size, self.image_size]       )

										SCREAMING_SNAKE_CASE_		:     List[str]					=					None
										if self.use_labels:
													SCREAMING_SNAKE_CASE_		:     Union[str, Any]					=					ids_tensor([self.batch_size]			,						self.num_labels       )

										SCREAMING_SNAKE_CASE_		:     Dict					=					self.get_config()

										return config, pixel_values, labels






							def 					UpperCamelCase__     (      self       ):





										"""simple docstring"""




										return SwiftFormerConfig(
										    depths=self.layer_depths			,						embed_dims=self.embed_dims			,						mlp_ratio=4			,						downsamples=[True, True, True, True]			,						hidden_act='gelu'			,						num_labels=self.num_labels			,						down_patch_size=3			,						down_stride=2			,						down_pad=1			,						drop_rate=0.0			,						drop_path_rate=0.0			,						use_layer_scale=lowerCAmelCase__			,						layer_scale_init_value=1E-5			,						)






							def 					UpperCamelCase__     (      self			,						lowerCAmelCase__			,						lowerCAmelCase__			,						lowerCAmelCase__       ):





										"""simple docstring"""




										SCREAMING_SNAKE_CASE_		:     str					=					SwiftFormerModel(config=lowerCAmelCase__       )
										model.to(lowerCAmelCase__       )
										model.eval()
										SCREAMING_SNAKE_CASE_		:     int					=					model(lowerCAmelCase__       )
										self.parent.assertEqual(result.last_hidden_state.shape			,						(self.batch_size, self.embed_dims[-1], 7, 7)       )






							def 					UpperCamelCase__     (      self			,						lowerCAmelCase__			,						lowerCAmelCase__			,						lowerCAmelCase__       ):





										"""simple docstring"""




										SCREAMING_SNAKE_CASE_		:     Optional[int]					=					self.num_labels
										SCREAMING_SNAKE_CASE_		:     str					=					SwiftFormerForImageClassification(lowerCAmelCase__       )
										model.to(lowerCAmelCase__       )
										model.eval()
										SCREAMING_SNAKE_CASE_		:     Optional[int]					=					model(lowerCAmelCase__			,						labels=lowerCAmelCase__       )
										self.parent.assertEqual(result.logits.shape			,						(self.batch_size, self.num_labels)       )

										SCREAMING_SNAKE_CASE_		:     Tuple					=					SwiftFormerForImageClassification(lowerCAmelCase__       )
										model.to(lowerCAmelCase__       )
										model.eval()

										SCREAMING_SNAKE_CASE_		:     str					=					floats_tensor([self.batch_size, self.num_channels, self.image_size, self.image_size]       )
										SCREAMING_SNAKE_CASE_		:     str					=					model(lowerCAmelCase__       )
										self.parent.assertEqual(result.logits.shape			,						(self.batch_size, self.num_labels)       )






							def 					UpperCamelCase__     (      self       ):





										"""simple docstring"""




										((SCREAMING_SNAKE_CASE_)		,      (SCREAMING_SNAKE_CASE_)		,      (SCREAMING_SNAKE_CASE_))		:     Optional[Any]					=					self.prepare_config_and_inputs()
										SCREAMING_SNAKE_CASE_		:     str					=					{'pixel_values': pixel_values}
										return config, inputs_dict







@require_torch
class 	__lowercase    (__SCREAMING_SNAKE_CASE	,       __SCREAMING_SNAKE_CASE	,       unittest.TestCase  ):





							"""simple docstring"""







							_UpperCAmelCase      =						(SwiftFormerModel, SwiftFormerForImageClassification) if is_torch_available() else ()
							_UpperCAmelCase      =						(
							    {"""feature-extraction""": SwiftFormerModel, """image-classification""": SwiftFormerForImageClassification}
							    if is_torch_available()
							    else {}
							)

							_UpperCAmelCase      =						False
							_UpperCAmelCase      =						False
							_UpperCAmelCase      =						False
							_UpperCAmelCase      =						False
							_UpperCAmelCase      =						False






							def 					UpperCamelCase__     (      self       ):





										"""simple docstring"""




										SCREAMING_SNAKE_CASE_		:     Dict					=					SwiftFormerModelTester(self       )
										SCREAMING_SNAKE_CASE_		:     str					=					ConfigTester(
										    self			,						config_class=lowerCAmelCase__			,						has_text_modality=lowerCAmelCase__			,						hidden_size=3_7			,						num_attention_heads=1_2			,						num_hidden_layers=1_2			,						)






							def 					UpperCamelCase__     (      self       ):





										"""simple docstring"""




										self.config_tester.run_common_tests()






							@unittest.skip(reason='SwiftFormer does not use inputs_embeds'       )
							def 					UpperCamelCase__     (      self       ):





										"""simple docstring"""




										pass






							def 					UpperCamelCase__     (      self       ):





										"""simple docstring"""




										SCREAMING_SNAKE_CASE_		,      SCREAMING_SNAKE_CASE_		:     List[str]					=					self.model_tester.prepare_config_and_inputs_for_common()

										for model_class in self.all_model_classes:
													SCREAMING_SNAKE_CASE_		:     str					=					model_class(lowerCAmelCase__       )
													SCREAMING_SNAKE_CASE_		:     Dict					=					model.get_output_embeddings()
													self.assertTrue(x is None or isinstance(lowerCAmelCase__			,						nn.Linear       )       )






							def 					UpperCamelCase__     (      self       ):





										"""simple docstring"""




										SCREAMING_SNAKE_CASE_		,      SCREAMING_SNAKE_CASE_		:     Union[str, Any]					=					self.model_tester.prepare_config_and_inputs_for_common()

										for model_class in self.all_model_classes:
													SCREAMING_SNAKE_CASE_		:     int					=					model_class(lowerCAmelCase__       )
													SCREAMING_SNAKE_CASE_		:     Union[str, Any]					=					inspect.signature(model.forward       )
													# signature.parameters is an OrderedDict => so arg_names order is deterministic
													SCREAMING_SNAKE_CASE_		:     int					=					[*signature.parameters.keys()]

													SCREAMING_SNAKE_CASE_		:     Tuple					=					['pixel_values']
													self.assertListEqual(arg_names[:1]			,						lowerCAmelCase__       )






							def 					UpperCamelCase__     (      self       ):





										"""simple docstring"""




										SCREAMING_SNAKE_CASE_		:     Any					=					self.model_tester.prepare_config_and_inputs()
										self.model_tester.create_and_check_model(*lowerCAmelCase__       )






							def 					UpperCamelCase__     (      self       ):





										"""simple docstring"""




										SCREAMING_SNAKE_CASE_		:     Optional[Any]					=					self.model_tester.prepare_config_and_inputs()
										self.model_tester.create_and_check_for_image_classification(*lowerCAmelCase__       )






							@slow
							def 					UpperCamelCase__     (      self       ):





										"""simple docstring"""




										for model_name in SWIFTFORMER_PRETRAINED_MODEL_ARCHIVE_LIST[:1]:
													SCREAMING_SNAKE_CASE_		:     Optional[int]					=					SwiftFormerModel.from_pretrained(lowerCAmelCase__       )
													self.assertIsNotNone(lowerCAmelCase__       )






							@unittest.skip(reason='SwiftFormer does not output attentions'       )
							def 					UpperCamelCase__     (      self       ):





										"""simple docstring"""




										pass






							def 					UpperCamelCase__     (      self       ):





										"""simple docstring"""




										def check_hidden_states_output(lowerCAmelCase__			,						lowerCAmelCase__			,						lowerCAmelCase__       ):
													SCREAMING_SNAKE_CASE_		:     Tuple					=					model_class(lowerCAmelCase__       )
													model.to(lowerCAmelCase__       )
													model.eval()

													with torch.no_grad():
																SCREAMING_SNAKE_CASE_		:     str					=					model(**self._prepare_for_class(lowerCAmelCase__			,						lowerCAmelCase__       )       )

													SCREAMING_SNAKE_CASE_		:     List[str]					=					outputs.hidden_states

													SCREAMING_SNAKE_CASE_		:     Any					=					8
													self.assertEqual(len(lowerCAmelCase__       )			,						lowerCAmelCase__       )  # TODO

													# SwiftFormer's feature maps are of shape (batch_size, embed_dims, height, width)
													# with the width and height being successively divided by 2, after every 2 blocks
													for i in range(len(lowerCAmelCase__       )       ):
																self.assertEqual(
																    hidden_states[i].shape			,						torch.Size(
																        [
																            self.model_tester.batch_size,
																            self.model_tester.embed_dims[i // 2],
																            (self.model_tester.image_size // 4) // 2 ** (i // 2),
																            (self.model_tester.image_size // 4) // 2 ** (i // 2),
																        ]       )			,						)

										SCREAMING_SNAKE_CASE_		,      SCREAMING_SNAKE_CASE_		:     Union[str, Any]					=					self.model_tester.prepare_config_and_inputs_for_common()

										for model_class in self.all_model_classes:
													SCREAMING_SNAKE_CASE_		:     str					=					True
													check_hidden_states_output(lowerCAmelCase__			,						lowerCAmelCase__			,						lowerCAmelCase__       )

													# check that output_hidden_states also work using config
													del inputs_dict["output_hidden_states"]
													SCREAMING_SNAKE_CASE_		:     Dict					=					True

													check_hidden_states_output(lowerCAmelCase__			,						lowerCAmelCase__			,						lowerCAmelCase__       )






							def 					UpperCamelCase__     (      self       ):





										"""simple docstring"""




										def _config_zero_init(lowerCAmelCase__       ):
													SCREAMING_SNAKE_CASE_		:     List[str]					=					copy.deepcopy(lowerCAmelCase__       )
													for key in configs_no_init.__dict__.keys():
																if "_range" in key or "_std" in key or "initializer_factor" in key or "layer_scale" in key:
																			setattr(lowerCAmelCase__			,						lowerCAmelCase__			,						1E-10       )
																if isinstance(getattr(lowerCAmelCase__			,						lowerCAmelCase__			,						lowerCAmelCase__       )			,						lowerCAmelCase__       ):
																			SCREAMING_SNAKE_CASE_		:     int					=					_config_zero_init(getattr(lowerCAmelCase__			,						lowerCAmelCase__       )       )
																			setattr(lowerCAmelCase__			,						lowerCAmelCase__			,						lowerCAmelCase__       )
													return configs_no_init

										SCREAMING_SNAKE_CASE_		,      SCREAMING_SNAKE_CASE_		:     Optional[Any]					=					self.model_tester.prepare_config_and_inputs_for_common()

										SCREAMING_SNAKE_CASE_		:     List[Any]					=					_config_zero_init(lowerCAmelCase__       )
										for model_class in self.all_model_classes:
													SCREAMING_SNAKE_CASE_		:     str					=					model_class(config=lowerCAmelCase__       )
													for name, param in model.named_parameters():
																if param.requires_grad:
																			self.assertIn(
																			    ((param.data.mean() * 1E9) / 1E9).round().item()			,						[0.0, 1.0]			,						msg=F'''Parameter {name} of model {model_class} seems not properly initialized'''			,						)






							@unittest.skip('Will be fixed soon by reducing the size of the model used for common tests.'       )
							def 					UpperCamelCase__     (      self       ):





										"""simple docstring"""




										pass







def 						a__			(				):
			SCREAMING_SNAKE_CASE_		:     Dict					=					Image.open('./tests/fixtures/tests_samples/COCO/000000039769.png'				)
			return image







@require_torch
@require_vision
class 	__lowercase    (unittest.TestCase  ):





							"""simple docstring"""







							@cached_property
							def 					UpperCamelCase__     (      self       ):





										"""simple docstring"""




										return ViTImageProcessor.from_pretrained('MBZUAI/swiftformer-xs'       ) if is_vision_available() else None






							@slow
							def 					UpperCamelCase__     (      self       ):





										"""simple docstring"""




										SCREAMING_SNAKE_CASE_		:     Dict					=					SwiftFormerForImageClassification.from_pretrained('MBZUAI/swiftformer-xs'       ).to(lowerCAmelCase__       )

										SCREAMING_SNAKE_CASE_		:     Tuple					=					self.default_image_processor
										SCREAMING_SNAKE_CASE_		:     Any					=					prepare_img()
										SCREAMING_SNAKE_CASE_		:     List[str]					=					image_processor(images=lowerCAmelCase__			,						return_tensors='pt'       ).to(lowerCAmelCase__       )

										# forward pass
										with torch.no_grad():
													SCREAMING_SNAKE_CASE_		:     List[str]					=					model(**lowerCAmelCase__       )

										# verify the logits
										SCREAMING_SNAKE_CASE_		:     Union[str, Any]					=					torch.Size((1, 1_0_0_0)       )
										self.assertEqual(outputs.logits.shape			,						lowerCAmelCase__       )

										SCREAMING_SNAKE_CASE_		:     str					=					torch.tensor([[-2.1_703E00, 2.1_107E00, -2.0_811E00]]       ).to(lowerCAmelCase__       )
										self.assertTrue(torch.allclose(outputs.logits[0, :3]			,						lowerCAmelCase__			,						atol=1E-4       )       )





