




'''simple docstring'''





import unittest

from diffusers.models.unet_ad_blocks import *  # noqa F403
from diffusers.utils import torch_device

from .test_unet_blocks_common import UNetBlockTesterMixin




class  _snake_case		(	lowercase_						,						unittest.TestCase							):
			lowerCAmelCase_     :      str						       =    DownBlockaD  # noqa F405
			lowerCAmelCase_     :      List[Any]						       =    "down"




			def    lowerCAmelCase__				(					self							)				->				Dict:

										'''simple docstring'''




										snake_case_						=      [-0.0_2_3_2, -0.9_8_6_9, 0.8_0_5_4, -0.0_6_3_7, -0.1_6_8_8, -1.4_2_6_4, 0.4_4_7_0, -1.3_3_9_4, 0.0_9_0_4]
										super().test_output(__lowerCAmelCase							)




class  _snake_case		(	lowercase_						,						unittest.TestCase							):
			lowerCAmelCase_     :      Optional[int]						       =    ResnetDownsampleBlockaD  # noqa F405
			lowerCAmelCase_     :      List[str]						       =    "down"




			def    lowerCAmelCase__				(					self							)				->				Tuple:

										'''simple docstring'''




										snake_case_						=      [0.0_7_1_0, 0.2_4_1_0, -0.7_3_2_0, -1.0_7_5_7, -1.1_3_4_3, 0.3_5_4_0, -0.0_1_3_3, -0.2_5_7_6, 0.0_9_4_8]
										super().test_output(__lowerCAmelCase							)




class  _snake_case		(	lowercase_						,						unittest.TestCase							):
			lowerCAmelCase_     :      Union[str, Any]						       =    AttnDownBlockaD  # noqa F405
			lowerCAmelCase_     :      Union[str, Any]						       =    "down"




			def    lowerCAmelCase__				(					self							)				->				str:

										'''simple docstring'''




										snake_case_						=      [0.0_6_3_6, 0.8_9_6_4, -0.6_2_3_4, -1.0_1_3_1, 0.0_8_4_4, 0.4_9_3_5, 0.3_4_3_7, 0.0_9_1_1, -0.2_9_5_7]
										super().test_output(__lowerCAmelCase							)




class  _snake_case		(	lowercase_						,						unittest.TestCase							):
			lowerCAmelCase_     :      Optional[int]						       =    CrossAttnDownBlockaD  # noqa F405
			lowerCAmelCase_     :      str						       =    "down"




			def    lowerCAmelCase__				(					self							)				->				Any:

										'''simple docstring'''




										snake_case_					,      snake_case_						=      super().prepare_init_args_and_inputs_for_common()
										snake_case_						=      32
										return init_dict, inputs_dict




			def    lowerCAmelCase__				(					self							)				->				Tuple:

										'''simple docstring'''




										snake_case_						=      [0.2_2_3_8, -0.7_3_9_6, -0.2_2_5_5, -0.3_8_2_9, 0.1_9_2_5, 1.1_6_6_5, 0.0_6_0_3, -0.7_2_9_5, 0.1_9_8_3]
										super().test_output(__lowerCAmelCase							)




class  _snake_case		(	lowercase_						,						unittest.TestCase							):
			lowerCAmelCase_     :      Tuple						       =    SimpleCrossAttnDownBlockaD  # noqa F405
			lowerCAmelCase_     :      List[Any]						       =    "down"




			@property
			def    lowerCAmelCase__				(					self							)				->				Optional[int]:

										'''simple docstring'''




										return super().get_dummy_input(include_encoder_hidden_states=__lowerCAmelCase							)




			def    lowerCAmelCase__				(					self							)				->				Tuple:

										'''simple docstring'''




										snake_case_					,      snake_case_						=      super().prepare_init_args_and_inputs_for_common()
										snake_case_						=      32
										return init_dict, inputs_dict




			@unittest.skipIf(torch_device == "mps"				,							"MPS result is not consistent"							)
			def    lowerCAmelCase__				(					self							)				->				List[Any]:

										'''simple docstring'''




										snake_case_						=      [0.7_9_2_1, -0.0_9_9_2, -0.1_9_6_2, -0.7_6_9_5, -0.4_2_4_2, 0.7_8_0_4, 0.4_7_3_7, 0.2_7_6_5, 0.3_3_3_8]
										super().test_output(__lowerCAmelCase							)




class  _snake_case		(	lowercase_						,						unittest.TestCase							):
			lowerCAmelCase_     :      Optional[Any]						       =    SkipDownBlockaD  # noqa F405
			lowerCAmelCase_     :      str						       =    "down"




			@property
			def    lowerCAmelCase__				(					self							)				->				str:

										'''simple docstring'''




										return super().get_dummy_input(include_skip_sample=__lowerCAmelCase							)




			def    lowerCAmelCase__				(					self							)				->				Dict:

										'''simple docstring'''




										snake_case_						=      [-0.0_8_4_5, -0.2_0_8_7, -0.2_4_6_5, 0.0_9_7_1, 0.1_9_0_0, -0.0_4_8_4, 0.2_6_6_4, 0.4_1_7_9, 0.5_0_6_9]
										super().test_output(__lowerCAmelCase							)




class  _snake_case		(	lowercase_						,						unittest.TestCase							):
			lowerCAmelCase_     :      List[Any]						       =    AttnSkipDownBlockaD  # noqa F405
			lowerCAmelCase_     :      Tuple						       =    "down"




			@property
			def    lowerCAmelCase__				(					self							)				->				Optional[int]:

										'''simple docstring'''




										return super().get_dummy_input(include_skip_sample=__lowerCAmelCase							)




			def    lowerCAmelCase__				(					self							)				->				Tuple:

										'''simple docstring'''




										snake_case_						=      [0.5_5_3_9, 0.1_6_0_9, 0.4_9_2_4, 0.0_5_3_7, -0.1_9_9_5, 0.4_0_5_0, 0.0_9_7_9, -0.2_7_2_1, -0.0_6_4_2]
										super().test_output(__lowerCAmelCase							)




class  _snake_case		(	lowercase_						,						unittest.TestCase							):
			lowerCAmelCase_     :      Tuple						       =    DownEncoderBlockaD  # noqa F405
			lowerCAmelCase_     :      Any						       =    "down"




			@property
			def    lowerCAmelCase__				(					self							)				->				Dict:

										'''simple docstring'''




										return super().get_dummy_input(include_temb=__lowerCAmelCase							)




			def    lowerCAmelCase__				(					self							)				->				Union[str, Any]:

										'''simple docstring'''




										snake_case_						=      {
										    "in_channels": 32,
										    "out_channels": 32,
										}
										snake_case_						=      self.dummy_input
										return init_dict, inputs_dict




			def    lowerCAmelCase__				(					self							)				->				int:

										'''simple docstring'''




										snake_case_						=      [1.1_1_0_2, 0.5_3_0_2, 0.4_8_7_2, -0.0_0_2_3, -0.8_0_4_2, 0.0_4_8_3, -0.3_4_8_9, -0.5_6_3_2, 0.7_6_2_6]
										super().test_output(__lowerCAmelCase							)




class  _snake_case		(	lowercase_						,						unittest.TestCase							):
			lowerCAmelCase_     :      Optional[int]						       =    AttnDownEncoderBlockaD  # noqa F405
			lowerCAmelCase_     :      Tuple						       =    "down"




			@property
			def    lowerCAmelCase__				(					self							)				->				Dict:

										'''simple docstring'''




										return super().get_dummy_input(include_temb=__lowerCAmelCase							)




			def    lowerCAmelCase__				(					self							)				->				List[Any]:

										'''simple docstring'''




										snake_case_						=      {
										    "in_channels": 32,
										    "out_channels": 32,
										}
										snake_case_						=      self.dummy_input
										return init_dict, inputs_dict




			def    lowerCAmelCase__				(					self							)				->				Any:

										'''simple docstring'''




										snake_case_						=      [0.8_9_6_6, -0.1_4_8_6, 0.8_5_6_8, 0.8_1_4_1, -0.9_0_4_6, -0.1_3_4_2, -0.0_9_7_2, -0.7_4_1_7, 0.1_5_3_8]
										super().test_output(__lowerCAmelCase							)




class  _snake_case		(	lowercase_						,						unittest.TestCase							):
			lowerCAmelCase_     :      int						       =    UNetMidBlockaD  # noqa F405
			lowerCAmelCase_     :      Any						       =    "mid"




			def    lowerCAmelCase__				(					self							)				->				List[Any]:

										'''simple docstring'''




										snake_case_						=      {
										    "in_channels": 32,
										    "temb_channels": 128,
										}
										snake_case_						=      self.dummy_input
										return init_dict, inputs_dict




			def    lowerCAmelCase__				(					self							)				->				List[Any]:

										'''simple docstring'''




										snake_case_						=      [-0.1_0_6_2, 1.7_2_4_8, 0.3_4_9_4, 1.4_5_6_9, -0.0_9_1_0, -1.2_4_2_1, -0.9_9_8_4, 0.6_7_3_6, 1.0_0_2_8]
										super().test_output(__lowerCAmelCase							)




class  _snake_case		(	lowercase_						,						unittest.TestCase							):
			lowerCAmelCase_     :      Dict						       =    UNetMidBlockaDCrossAttn  # noqa F405
			lowerCAmelCase_     :      int						       =    "mid"




			def    lowerCAmelCase__				(					self							)				->				Tuple:

										'''simple docstring'''




										snake_case_					,      snake_case_						=      super().prepare_init_args_and_inputs_for_common()
										snake_case_						=      32
										return init_dict, inputs_dict




			def    lowerCAmelCase__				(					self							)				->				Union[str, Any]:

										'''simple docstring'''




										snake_case_						=      [0.0_1_8_7, 2.4_2_2_0, 0.4_4_8_4, 1.1_2_0_3, -0.6_1_2_1, -1.5_1_2_2, -0.8_2_7_0, 0.7_8_5_1, 1.8_3_3_5]
										super().test_output(__lowerCAmelCase							)




class  _snake_case		(	lowercase_						,						unittest.TestCase							):
			lowerCAmelCase_     :      Optional[Any]						       =    UNetMidBlockaDSimpleCrossAttn  # noqa F405
			lowerCAmelCase_     :      Optional[int]						       =    "mid"




			@property
			def    lowerCAmelCase__				(					self							)				->				Optional[int]:

										'''simple docstring'''




										return super().get_dummy_input(include_encoder_hidden_states=__lowerCAmelCase							)




			def    lowerCAmelCase__				(					self							)				->				Tuple:

										'''simple docstring'''




										snake_case_					,      snake_case_						=      super().prepare_init_args_and_inputs_for_common()
										snake_case_						=      32
										return init_dict, inputs_dict




			def    lowerCAmelCase__				(					self							)				->				Optional[int]:

										'''simple docstring'''




										snake_case_						=      [0.7_1_4_3, 1.9_9_7_4, 0.5_4_4_8, 1.3_9_7_7, 0.1_2_8_2, -1.1_2_3_7, -1.4_2_3_8, 0.5_5_3_0, 0.8_8_8_0]
										super().test_output(__lowerCAmelCase							)




class  _snake_case		(	lowercase_						,						unittest.TestCase							):
			lowerCAmelCase_     :      Union[str, Any]						       =    UpBlockaD  # noqa F405
			lowerCAmelCase_     :      Union[str, Any]						       =    "up"




			@property
			def    lowerCAmelCase__				(					self							)				->				Tuple:

										'''simple docstring'''




										return super().get_dummy_input(include_res_hidden_states_tuple=__lowerCAmelCase							)




			def    lowerCAmelCase__				(					self							)				->				Any:

										'''simple docstring'''




										snake_case_						=      [-0.2_0_4_1, -0.4_1_6_5, -0.3_0_2_2, 0.0_0_4_1, -0.6_6_2_8, -0.7_0_5_3, 0.1_9_2_8, -0.0_3_2_5, 0.0_5_2_3]
										super().test_output(__lowerCAmelCase							)




class  _snake_case		(	lowercase_						,						unittest.TestCase							):
			lowerCAmelCase_     :      List[str]						       =    ResnetUpsampleBlockaD  # noqa F405
			lowerCAmelCase_     :      Tuple						       =    "up"




			@property
			def    lowerCAmelCase__				(					self							)				->				Optional[Any]:

										'''simple docstring'''




										return super().get_dummy_input(include_res_hidden_states_tuple=__lowerCAmelCase							)




			def    lowerCAmelCase__				(					self							)				->				str:

										'''simple docstring'''




										snake_case_						=      [0.2_2_8_7, 0.3_5_4_9, -0.1_3_4_6, 0.4_7_9_7, -0.1_7_1_5, -0.9_6_4_9, 0.7_3_0_5, -0.5_8_6_4, -0.6_2_4_4]
										super().test_output(__lowerCAmelCase							)




class  _snake_case		(	lowercase_						,						unittest.TestCase							):
			lowerCAmelCase_     :      int						       =    CrossAttnUpBlockaD  # noqa F405
			lowerCAmelCase_     :      Dict						       =    "up"




			@property
			def    lowerCAmelCase__				(					self							)				->				Any:

										'''simple docstring'''




										return super().get_dummy_input(include_res_hidden_states_tuple=__lowerCAmelCase							)




			def    lowerCAmelCase__				(					self							)				->				List[Any]:

										'''simple docstring'''




										snake_case_					,      snake_case_						=      super().prepare_init_args_and_inputs_for_common()
										snake_case_						=      32
										return init_dict, inputs_dict




			def    lowerCAmelCase__				(					self							)				->				Optional[int]:

										'''simple docstring'''




										snake_case_						=      [-0.1_4_0_3, -0.3_5_1_5, -0.0_4_2_0, -0.1_4_2_5, 0.3_1_6_7, 0.5_0_9_4, -0.2_1_8_1, 0.5_9_3_1, 0.5_5_8_2]
										super().test_output(__lowerCAmelCase							)




class  _snake_case		(	lowercase_						,						unittest.TestCase							):
			lowerCAmelCase_     :      Any						       =    SimpleCrossAttnUpBlockaD  # noqa F405
			lowerCAmelCase_     :      Optional[Any]						       =    "up"




			@property
			def    lowerCAmelCase__				(					self							)				->				Tuple:

										'''simple docstring'''




										return super().get_dummy_input(include_res_hidden_states_tuple=__lowerCAmelCase				,							include_encoder_hidden_states=__lowerCAmelCase							)




			def    lowerCAmelCase__				(					self							)				->				Union[str, Any]:

										'''simple docstring'''




										snake_case_					,      snake_case_						=      super().prepare_init_args_and_inputs_for_common()
										snake_case_						=      32
										return init_dict, inputs_dict




			def    lowerCAmelCase__				(					self							)				->				List[Any]:

										'''simple docstring'''




										snake_case_						=      [0.2_6_4_5, 0.1_4_8_0, 0.0_9_0_9, 0.8_0_4_4, -0.9_7_5_8, -0.9_0_8_3, 0.0_9_9_4, -1.1_4_5_3, -0.7_4_0_2]
										super().test_output(__lowerCAmelCase							)




class  _snake_case		(	lowercase_						,						unittest.TestCase							):
			lowerCAmelCase_     :      Dict						       =    AttnUpBlockaD  # noqa F405
			lowerCAmelCase_     :      Optional[Any]						       =    "up"




			@property
			def    lowerCAmelCase__				(					self							)				->				Any:

										'''simple docstring'''




										return super().get_dummy_input(include_res_hidden_states_tuple=__lowerCAmelCase							)




			@unittest.skipIf(torch_device == "mps"				,							"MPS result is not consistent"							)
			def    lowerCAmelCase__				(					self							)				->				Tuple:

										'''simple docstring'''




										snake_case_						=      [0.0_9_7_9, 0.1_3_2_6, 0.0_0_2_1, 0.0_6_5_9, 0.2_2_4_9, 0.0_0_5_9, 0.1_1_3_2, 0.5_9_5_2, 0.1_0_3_3]
										super().test_output(__lowerCAmelCase							)




class  _snake_case		(	lowercase_						,						unittest.TestCase							):
			lowerCAmelCase_     :      Any						       =    SkipUpBlockaD  # noqa F405
			lowerCAmelCase_     :      str						       =    "up"




			@property
			def    lowerCAmelCase__				(					self							)				->				str:

										'''simple docstring'''




										return super().get_dummy_input(include_res_hidden_states_tuple=__lowerCAmelCase							)




			def    lowerCAmelCase__				(					self							)				->				int:

										'''simple docstring'''




										snake_case_						=      [-0.0_8_9_3, -0.1_2_3_4, -0.1_5_0_6, -0.0_3_3_2, 0.0_1_2_3, -0.0_2_1_1, 0.0_5_6_6, 0.0_1_4_3, 0.0_3_6_2]
										super().test_output(__lowerCAmelCase							)




class  _snake_case		(	lowercase_						,						unittest.TestCase							):
			lowerCAmelCase_     :      int						       =    AttnSkipUpBlockaD  # noqa F405
			lowerCAmelCase_     :      Union[str, Any]						       =    "up"




			@property
			def    lowerCAmelCase__				(					self							)				->				Tuple:

										'''simple docstring'''




										return super().get_dummy_input(include_res_hidden_states_tuple=__lowerCAmelCase							)




			def    lowerCAmelCase__				(					self							)				->				Any:

										'''simple docstring'''




										snake_case_						=      [0.0_3_6_1, 0.0_6_1_7, 0.2_7_8_7, -0.0_3_5_0, 0.0_3_4_2, 0.3_4_2_1, -0.0_8_4_3, 0.0_9_1_3, 0.3_0_1_5]
										super().test_output(__lowerCAmelCase							)




class  _snake_case		(	lowercase_						,						unittest.TestCase							):
			lowerCAmelCase_     :      Dict						       =    UpDecoderBlockaD  # noqa F405
			lowerCAmelCase_     :      Dict						       =    "up"




			@property
			def    lowerCAmelCase__				(					self							)				->				Optional[Any]:

										'''simple docstring'''




										return super().get_dummy_input(include_temb=__lowerCAmelCase							)




			def    lowerCAmelCase__				(					self							)				->				int:

										'''simple docstring'''




										snake_case_						=      {"in_channels": 32, "out_channels": 32}

										snake_case_						=      self.dummy_input
										return init_dict, inputs_dict




			def    lowerCAmelCase__				(					self							)				->				Any:

										'''simple docstring'''




										snake_case_						=      [0.4_4_0_4, 0.1_9_9_8, -0.9_8_8_6, -0.3_3_2_0, -0.3_1_2_8, -0.7_0_3_4, -0.6_9_5_5, -0.2_3_3_8, -0.3_1_3_7]
										super().test_output(__lowerCAmelCase							)




class  _snake_case		(	lowercase_						,						unittest.TestCase							):
			lowerCAmelCase_     :      List[str]						       =    AttnUpDecoderBlockaD  # noqa F405
			lowerCAmelCase_     :      str						       =    "up"




			@property
			def    lowerCAmelCase__				(					self							)				->				Optional[Any]:

										'''simple docstring'''




										return super().get_dummy_input(include_temb=__lowerCAmelCase							)




			def    lowerCAmelCase__				(					self							)				->				Any:

										'''simple docstring'''




										snake_case_						=      {"in_channels": 32, "out_channels": 32}

										snake_case_						=      self.dummy_input
										return init_dict, inputs_dict




			def    lowerCAmelCase__				(					self							)				->				Dict:

										'''simple docstring'''




										snake_case_						=      [0.6_7_3_8, 0.4_4_9_1, 0.1_0_5_5, 1.0_7_1_0, 0.7_3_1_6, 0.3_3_3_9, 0.3_3_5_2, 0.1_0_2_3, 0.3_5_6_8]
										super().test_output(__lowerCAmelCase							)











import numpy as np

from transformers import Pipeline





def lowerCAmelCase__(__snake_case							)				->      Tuple:







	'''simple docstring'''







	lowerCamelCase__								=		np.max(__snake_case       ,axis=-1       ,keepdims=__snake_case							)
	lowerCamelCase__								=		np.exp(outputs - maxes							)
	return shifted_exp / shifted_exp.sum(axis=-1       ,keepdims=__snake_case							)






class 					__A    (    lowerCAmelCase ):

			'''simple docstring'''







			def 		__lowerCamelCase				(    self       ,  **__lowerCAmelCase							):



				'''simple docstring'''







				lowerCamelCase__								=		{}
				if "second_text" in kwargs:
					lowerCamelCase__								=		kwargs['''second_text''']
				return preprocess_kwargs, {}, {}





			def 		__lowerCamelCase				(    self       ,  __lowerCAmelCase       ,  __lowerCAmelCase=None							):



				'''simple docstring'''







				return self.tokenizer(__lowerCAmelCase       ,  text_pair=__lowerCAmelCase       ,  return_tensors=self.framework							)





			def 		__lowerCamelCase				(    self       ,  __lowerCAmelCase							):



				'''simple docstring'''







				return self.model(**__lowerCAmelCase							)





			def 		__lowerCamelCase				(    self       ,  __lowerCAmelCase							):



				'''simple docstring'''







				lowerCamelCase__								=		model_outputs.logits[0].numpy()
				lowerCamelCase__								=		softmax(__lowerCAmelCase							)

				lowerCamelCase__								=		np.argmax(__lowerCAmelCase							)
				lowerCamelCase__								=		self.model.config.idalabel[best_class]
				lowerCamelCase__								=		probabilities[best_class].item()
				lowerCamelCase__								=		logits.tolist()
				return {"label": label, "score": score, "logits": logits}



