


'''simple docstring'''

import copy
import inspect
import unittest

from transformers import AutoBackbone
from transformers.configuration_utils import PretrainedConfig
from transformers.testing_utils import require_timm, require_torch, torch_device
from transformers.utils.import_utils import is_torch_available

from ...test_backbone_common import BackboneTesterMixin
from ...test_configuration_common import ConfigTester
from ...test_modeling_common import ModelTesterMixin, floats_tensor


if is_torch_available():
	import torch

	from transformers import TimmBackbone, TimmBackboneConfig

from ...test_pipeline_mixin import PipelineTesterMixin


class       a__				:







				"""simple docstring"""



				def __init__(self       ,			__lowercase       ,			__lowercase=None       ,			__lowercase=None       ,			__lowercase=None       ,			__lowercase="resnet50"       ,			__lowercase=3       ,			__lowercase=32       ,			__lowercase=3       ,			__lowercase=True       ,			__lowercase=True       ,			):
										__lowerCAmelCase							       =				parent
										__lowerCAmelCase							       =				out_indices if out_indices is not None else [4]
										__lowerCAmelCase							       =				stage_names
										__lowerCAmelCase							       =				out_features
										__lowerCAmelCase							       =				backbone
										__lowerCAmelCase							       =				batch_size
										__lowerCAmelCase							       =				image_size
										__lowerCAmelCase							       =				num_channels
										__lowerCAmelCase							       =				use_pretrained_backbone
										__lowerCAmelCase							       =				is_training




				def 					_snake_case  (self		):
										__lowerCAmelCase							       =				floats_tensor([self.batch_size, self.num_channels, self.image_size, self.image_size]		)
										__lowerCAmelCase							       =				self.get_config()

										return config, pixel_values




				def 					_snake_case  (self		):
										return TimmBackboneConfig(
										    image_size=self.image_size       ,			num_channels=self.num_channels       ,			out_features=self.out_features       ,			out_indices=self.out_indices       ,			stage_names=self.stage_names       ,			use_pretrained_backbone=self.use_pretrained_backbone       ,			backbone=self.backbone       ,			)




				def 					_snake_case  (self       ,			__lowercase       ,			__lowercase		):
										__lowerCAmelCase							       =				TimmBackbone(config=__lowercase		)
										model.to(__lowercase		)
										model.eval()
										with torch.no_grad():
																__lowerCAmelCase							       =				model(__lowercase		)
										self.parent.assertEqual(
										    result.feature_map[-1].shape       ,			(self.batch_size, model.channels[-1], 14, 14)       ,			)




				def 					_snake_case  (self		):
										__lowerCAmelCase							       =				self.prepare_config_and_inputs()
										__lowerCAmelCase       ,					__lowerCAmelCase							       =				config_and_inputs
										__lowerCAmelCase							       =				{'''pixel_values''': pixel_values}
										return config, inputs_dict


@require_torch
@require_timm
class       a__				( __A							,						__A							,						__A							,						unittest.TestCase      ):







				"""simple docstring"""



				__UpperCamelCase    :		Dict	=	(TimmBackbone,) if is_torch_available() else ()
				__UpperCamelCase    :		Any	=	{'feature-extraction': TimmBackbone} if is_torch_available() else {}
				__UpperCamelCase    :		str	=	False
				__UpperCamelCase    :		Tuple	=	False
				__UpperCamelCase    :		Optional[int]	=	False
				__UpperCamelCase    :		List[Any]	=	False




				def 					_snake_case  (self		):
										__lowerCAmelCase							       =				TimmBackboneModelTester(self		)
										__lowerCAmelCase							       =				ConfigTester(self       ,			config_class=__lowercase       ,			has_text_modality=__lowercase		)




				def 					_snake_case  (self		):
										self.config_tester.create_and_test_config_to_json_string()
										self.config_tester.create_and_test_config_to_json_file()
										self.config_tester.create_and_test_config_from_and_save_pretrained()
										self.config_tester.create_and_test_config_with_num_labels()
										self.config_tester.check_config_can_be_init_without_params()
										self.config_tester.check_config_arguments_init()




				def 					_snake_case  (self		):
										__lowerCAmelCase							       =				'''resnet18'''
										__lowerCAmelCase							       =				'''microsoft/resnet-18'''

										__lowerCAmelCase							       =				AutoBackbone.from_pretrained(__lowercase       ,			use_timm_backbone=__lowercase		)
										__lowerCAmelCase							       =				AutoBackbone.from_pretrained(__lowercase		)

										self.assertEqual(len(timm_model.out_features		)       ,			len(transformers_model.out_features		)		)
										self.assertEqual(len(timm_model.stage_names		)       ,			len(transformers_model.stage_names		)		)
										self.assertEqual(timm_model.channels       ,			transformers_model.channels		)
										# Out indices are set to the last layer by default. For timm models, we don't know
										# the number of layers in advance, so we set it to (-1,), whereas for transformers
										# models, we set it to [len(stage_names) - 1] (kept for backward compatibility).
										self.assertEqual(timm_model.out_indices       ,			(-1,)		)
										self.assertEqual(transformers_model.out_indices       ,			[len(timm_model.stage_names		) - 1]		)

										__lowerCAmelCase							       =				AutoBackbone.from_pretrained(__lowercase       ,			use_timm_backbone=__lowercase       ,			out_indices=[1, 2, 3]		)
										__lowerCAmelCase							       =				AutoBackbone.from_pretrained(__lowercase       ,			out_indices=[1, 2, 3]		)

										self.assertEqual(timm_model.out_indices       ,			transformers_model.out_indices		)
										self.assertEqual(len(timm_model.out_features		)       ,			len(transformers_model.out_features		)		)
										self.assertEqual(timm_model.channels       ,			transformers_model.channels		)




				@unittest.skip('''TimmBackbone doesn\'t support feed forward chunking'''		)
				def 					_snake_case  (self		):
										pass




				@unittest.skip('''TimmBackbone doesn\'t have num_hidden_layers attribute'''		)
				def 					_snake_case  (self		):
										pass




				@unittest.skip('''TimmBackbone initialization is managed on the timm side'''		)
				def 					_snake_case  (self		):
										pass




				@unittest.skip('''TimmBackbone models doesn\'t have inputs_embeds'''		)
				def 					_snake_case  (self		):
										pass




				@unittest.skip('''TimmBackbone models doesn\'t have inputs_embeds'''		)
				def 					_snake_case  (self		):
										pass




				@unittest.skip('''TimmBackbone model cannot be created without specifying a backbone checkpoint'''		)
				def 					_snake_case  (self		):
										pass




				@unittest.skip('''Only checkpoints on timm can be loaded into TimmBackbone'''		)
				def 					_snake_case  (self		):
										pass




				@unittest.skip('''model weights aren\'t tied in TimmBackbone.'''		)
				def 					_snake_case  (self		):
										pass




				@unittest.skip('''model weights aren\'t tied in TimmBackbone.'''		)
				def 					_snake_case  (self		):
										pass




				@unittest.skip('''Only checkpoints on timm can be loaded into TimmBackbone'''		)
				def 					_snake_case  (self		):
										pass




				@unittest.skip('''Only checkpoints on timm can be loaded into TimmBackbone'''		)
				def 					_snake_case  (self		):
										pass




				@unittest.skip('''TimmBackbone doesn\'t have hidden size info in its configuration.'''		)
				def 					_snake_case  (self		):
										pass




				@unittest.skip('''TimmBackbone doesn\'t support output_attentions.'''		)
				def 					_snake_case  (self		):
										pass




				@unittest.skip('''Safetensors is not supported by timm.'''		)
				def 					_snake_case  (self		):
										pass




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




				def 					_snake_case  (self		):
										__lowerCAmelCase       ,					__lowerCAmelCase							       =				self.model_tester.prepare_config_and_inputs_for_common()

										for model_class in self.all_model_classes:
																__lowerCAmelCase							       =				model_class(__lowercase		)
																__lowerCAmelCase							       =				inspect.signature(model.forward		)
																# signature.parameters is an OrderedDict => so arg_names order is deterministic
																__lowerCAmelCase							       =				[*signature.parameters.keys()]

																__lowerCAmelCase							       =				['''pixel_values''']
																self.assertListEqual(arg_names[:1]       ,			__lowercase		)




				def 					_snake_case  (self		):
										__lowerCAmelCase       ,					__lowerCAmelCase							       =				self.model_tester.prepare_config_and_inputs_for_common()
										__lowerCAmelCase							       =				True
										__lowerCAmelCase							       =				self.has_attentions

										# no need to test all models as different heads yield the same functionality
										__lowerCAmelCase							       =				self.all_model_classes[0]
										__lowerCAmelCase							       =				model_class(__lowercase		)
										model.to(__lowercase		)

										__lowerCAmelCase							       =				self._prepare_for_class(__lowercase       ,			__lowercase		)
										__lowerCAmelCase							       =				model(**__lowercase		)
										__lowerCAmelCase							       =				outputs[0][-1]

										# Encoder-/Decoder-only models
										__lowerCAmelCase							       =				outputs.hidden_states[0]
										hidden_states.retain_grad()

										if self.has_attentions:
																__lowerCAmelCase							       =				outputs.attentions[0]
																attentions.retain_grad()

										output.flatten()[0].backward(retain_graph=__lowercase		)

										self.assertIsNotNone(hidden_states.grad		)

										if self.has_attentions:
																self.assertIsNotNone(attentions.grad		)




				def 					_snake_case  (self		):
										__lowerCAmelCase       ,					__lowerCAmelCase							       =				self.model_tester.prepare_config_and_inputs_for_common()

										for model_class in self.all_model_classes:
																__lowerCAmelCase							       =				model_class(__lowercase		)
																model.to(__lowercase		)
																model.eval()
																__lowerCAmelCase							       =				model(**__lowercase		)

																self.assertEqual(len(result.feature_maps		)       ,			len(config.out_indices		)		)
																self.assertEqual(len(model.channels		)       ,			len(config.out_indices		)		)

																# Check output of last stage is taken if out_features=None, out_indices=None
																__lowerCAmelCase							       =				copy.deepcopy(__lowercase		)
																__lowerCAmelCase							       =				None
																__lowerCAmelCase							       =				model_class(__lowercase		)
																model.to(__lowercase		)
																model.eval()
																__lowerCAmelCase							       =				model(**__lowercase		)

																self.assertEqual(len(result.feature_maps		)       ,			1		)
																self.assertEqual(len(model.channels		)       ,			1		)

																# Check backbone can be initialized with fresh weights
																__lowerCAmelCase							       =				copy.deepcopy(__lowercase		)
																__lowerCAmelCase							       =				False
																__lowerCAmelCase							       =				model_class(__lowercase		)
																model.to(__lowercase		)
																model.eval()
																__lowerCAmelCase							       =				model(**__lowercase		)





'''simple docstring'''

from ..utils import DummyObject, requires_backends


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Optional[int]	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Dict	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Any	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		str	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Tuple	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Optional[int]	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		List[Any]	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Optional[int]	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Optional[int]	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		int	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		int	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)

def 							__magic_name__(						*lowerCamelCase,				**lowerCamelCase):
						requires_backends(lowerCamelCase,				['''torch'''])

def 							__magic_name__(						*lowerCamelCase,				**lowerCamelCase):
						requires_backends(lowerCamelCase,				['''torch'''])

def 							__magic_name__(						*lowerCamelCase,				**lowerCamelCase):
						requires_backends(lowerCamelCase,				['''torch'''])

def 							__magic_name__(						*lowerCamelCase,				**lowerCamelCase):
						requires_backends(lowerCamelCase,				['''torch'''])

def 							__magic_name__(						*lowerCamelCase,				**lowerCamelCase):
						requires_backends(lowerCamelCase,				['''torch'''])

def 							__magic_name__(						*lowerCamelCase,				**lowerCamelCase):
						requires_backends(lowerCamelCase,				['''torch'''])

def 							__magic_name__(						*lowerCamelCase,				**lowerCamelCase):
						requires_backends(lowerCamelCase,				['''torch'''])


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		List[str]	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		List[Any]	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Dict	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		List[Any]	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		List[str]	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Dict	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Union[str, Any]	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Optional[int]	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		int	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Optional[Any]	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		List[Any]	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		str	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		int	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Dict	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Tuple	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Dict	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		int	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Optional[Any]	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Optional[Any]	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		List[str]	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		List[str]	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		str	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Tuple	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Optional[Any]	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		List[Any]	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Dict	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Any	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		List[Any]	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		List[str]	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		int	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Dict	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		List[Any]	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Dict	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Any	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		List[str]	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Optional[int]	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Union[str, Any]	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Dict	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)


class       a__				( metaclass=__A      ):







				"""simple docstring"""



				__UpperCamelCase    :		Dict	=	['torch']




				def __init__(self       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(self       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)




				@classmethod
				def 					_snake_case  (cls       ,			*__lowercase       ,			**__lowercase		):
										requires_backends(cls       ,			['''torch''']		)

