


'''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      lowerCamelCase_  (      __a	,			unittest.TestCase ):
      lowerCAmelCase__							=	DownBlockaD  # noqa F405
      lowerCAmelCase__							=	'''down'''






      def lowercase_				(   self							:       Optional[int]					):


          '''simple docstring'''


          UpperCAmelCase__     :						Dict						=							[-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      lowerCamelCase_  (      __a	,			unittest.TestCase ):
      lowerCAmelCase__							=	ResnetDownsampleBlockaD  # noqa F405
      lowerCAmelCase__							=	'''down'''






      def lowercase_				(   self							:       Union[str, Any]					):


          '''simple docstring'''


          UpperCAmelCase__     :						int						=							[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      lowerCamelCase_  (      __a	,			unittest.TestCase ):
      lowerCAmelCase__							=	AttnDownBlockaD  # noqa F405
      lowerCAmelCase__							=	'''down'''






      def lowercase_				(   self							:       List[Any]					):


          '''simple docstring'''


          UpperCAmelCase__     :						List[Any]						=							[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      lowerCamelCase_  (      __a	,			unittest.TestCase ):
      lowerCAmelCase__							=	CrossAttnDownBlockaD  # noqa F405
      lowerCAmelCase__							=	'''down'''






      def lowercase_				(   self							:       Optional[Any]					):


          '''simple docstring'''


          UpperCAmelCase__		,		UpperCAmelCase__     :						List[Any]						=							super().prepare_init_args_and_inputs_for_common()
          UpperCAmelCase__     :						Optional[Any]						=							32
          return init_dict, inputs_dict






      def lowercase_				(   self							:       Dict					):


          '''simple docstring'''


          UpperCAmelCase__     :						List[Any]						=							[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      lowerCamelCase_  (      __a	,			unittest.TestCase ):
      lowerCAmelCase__							=	SimpleCrossAttnDownBlockaD  # noqa F405
      lowerCAmelCase__							=	'''down'''






      @property
      def lowercase_				(   self							:       Any					):


          '''simple docstring'''


          return super().get_dummy_input(include_encoder_hidden_states=__lowerCAmelCase					)






      def lowercase_				(   self							:       List[str]					):


          '''simple docstring'''


          UpperCAmelCase__		,		UpperCAmelCase__     :						List[str]						=							super().prepare_init_args_and_inputs_for_common()
          UpperCAmelCase__     :						Optional[Any]						=							32
          return init_dict, inputs_dict






      @unittest.skipIf(torch_device == '''mps'''		,		'''MPS result is not consistent'''					)
      def lowercase_				(   self							:       Any					):


          '''simple docstring'''


          UpperCAmelCase__     :						List[Any]						=							[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      lowerCamelCase_  (      __a	,			unittest.TestCase ):
      lowerCAmelCase__							=	SkipDownBlockaD  # noqa F405
      lowerCAmelCase__							=	'''down'''






      @property
      def lowercase_				(   self							:       str					):


          '''simple docstring'''


          return super().get_dummy_input(include_skip_sample=__lowerCAmelCase					)






      def lowercase_				(   self							:       List[Any]					):


          '''simple docstring'''


          UpperCAmelCase__     :						Optional[Any]						=							[-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      lowerCamelCase_  (      __a	,			unittest.TestCase ):
      lowerCAmelCase__							=	AttnSkipDownBlockaD  # noqa F405
      lowerCAmelCase__							=	'''down'''






      @property
      def lowercase_				(   self							:       Dict					):


          '''simple docstring'''


          return super().get_dummy_input(include_skip_sample=__lowerCAmelCase					)






      def lowercase_				(   self							:       Optional[Any]					):


          '''simple docstring'''


          UpperCAmelCase__     :						List[Any]						=							[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      lowerCamelCase_  (      __a	,			unittest.TestCase ):
      lowerCAmelCase__							=	DownEncoderBlockaD  # noqa F405
      lowerCAmelCase__							=	'''down'''






      @property
      def lowercase_				(   self							:       Optional[int]					):


          '''simple docstring'''


          return super().get_dummy_input(include_temb=__lowerCAmelCase					)






      def lowercase_				(   self							:       str					):


          '''simple docstring'''


          UpperCAmelCase__     :						Optional[int]						=							{
              '''in_channels''': 32,
              '''out_channels''': 32,
          }
          UpperCAmelCase__     :						List[str]						=							self.dummy_input
          return init_dict, inputs_dict






      def lowercase_				(   self							:       str					):


          '''simple docstring'''


          UpperCAmelCase__     :						Tuple						=							[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      lowerCamelCase_  (      __a	,			unittest.TestCase ):
      lowerCAmelCase__							=	AttnDownEncoderBlockaD  # noqa F405
      lowerCAmelCase__							=	'''down'''






      @property
      def lowercase_				(   self							:       Union[str, Any]					):


          '''simple docstring'''


          return super().get_dummy_input(include_temb=__lowerCAmelCase					)






      def lowercase_				(   self							:       Any					):


          '''simple docstring'''


          UpperCAmelCase__     :						List[str]						=							{
              '''in_channels''': 32,
              '''out_channels''': 32,
          }
          UpperCAmelCase__     :						Tuple						=							self.dummy_input
          return init_dict, inputs_dict






      def lowercase_				(   self							:       Dict					):


          '''simple docstring'''


          UpperCAmelCase__     :						str						=							[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      lowerCamelCase_  (      __a	,			unittest.TestCase ):
      lowerCAmelCase__							=	UNetMidBlockaD  # noqa F405
      lowerCAmelCase__							=	'''mid'''






      def lowercase_				(   self							:       Optional[int]					):


          '''simple docstring'''


          UpperCAmelCase__     :						Optional[Any]						=							{
              '''in_channels''': 32,
              '''temb_channels''': 128,
          }
          UpperCAmelCase__     :						Dict						=							self.dummy_input
          return init_dict, inputs_dict






      def lowercase_				(   self							:       Optional[Any]					):


          '''simple docstring'''


          UpperCAmelCase__     :						Dict						=							[-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      lowerCamelCase_  (      __a	,			unittest.TestCase ):
      lowerCAmelCase__							=	UNetMidBlockaDCrossAttn  # noqa F405
      lowerCAmelCase__							=	'''mid'''






      def lowercase_				(   self							:       List[str]					):


          '''simple docstring'''


          UpperCAmelCase__		,		UpperCAmelCase__     :						Any						=							super().prepare_init_args_and_inputs_for_common()
          UpperCAmelCase__     :						Dict						=							32
          return init_dict, inputs_dict






      def lowercase_				(   self							:       List[Any]					):


          '''simple docstring'''


          UpperCAmelCase__     :						Union[str, Any]						=							[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      lowerCamelCase_  (      __a	,			unittest.TestCase ):
      lowerCAmelCase__							=	UNetMidBlockaDSimpleCrossAttn  # noqa F405
      lowerCAmelCase__							=	'''mid'''






      @property
      def lowercase_				(   self							:       int					):


          '''simple docstring'''


          return super().get_dummy_input(include_encoder_hidden_states=__lowerCAmelCase					)






      def lowercase_				(   self							:       Optional[int]					):


          '''simple docstring'''


          UpperCAmelCase__		,		UpperCAmelCase__     :						List[str]						=							super().prepare_init_args_and_inputs_for_common()
          UpperCAmelCase__     :						List[str]						=							32
          return init_dict, inputs_dict






      def lowercase_				(   self							:       Dict					):


          '''simple docstring'''


          UpperCAmelCase__     :						Tuple						=							[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      lowerCamelCase_  (      __a	,			unittest.TestCase ):
      lowerCAmelCase__							=	UpBlockaD  # noqa F405
      lowerCAmelCase__							=	'''up'''






      @property
      def lowercase_				(   self							:       str					):


          '''simple docstring'''


          return super().get_dummy_input(include_res_hidden_states_tuple=__lowerCAmelCase					)






      def lowercase_				(   self							:       Dict					):


          '''simple docstring'''


          UpperCAmelCase__     :						Optional[Any]						=							[-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      lowerCamelCase_  (      __a	,			unittest.TestCase ):
      lowerCAmelCase__							=	ResnetUpsampleBlockaD  # noqa F405
      lowerCAmelCase__							=	'''up'''






      @property
      def lowercase_				(   self							:       Optional[Any]					):


          '''simple docstring'''


          return super().get_dummy_input(include_res_hidden_states_tuple=__lowerCAmelCase					)






      def lowercase_				(   self							:       Optional[Any]					):


          '''simple docstring'''


          UpperCAmelCase__     :						List[Any]						=							[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      lowerCamelCase_  (      __a	,			unittest.TestCase ):
      lowerCAmelCase__							=	CrossAttnUpBlockaD  # noqa F405
      lowerCAmelCase__							=	'''up'''






      @property
      def lowercase_				(   self							:       Union[str, Any]					):


          '''simple docstring'''


          return super().get_dummy_input(include_res_hidden_states_tuple=__lowerCAmelCase					)






      def lowercase_				(   self							:       List[Any]					):


          '''simple docstring'''


          UpperCAmelCase__		,		UpperCAmelCase__     :						Optional[int]						=							super().prepare_init_args_and_inputs_for_common()
          UpperCAmelCase__     :						Optional[Any]						=							32
          return init_dict, inputs_dict






      def lowercase_				(   self							:       str					):


          '''simple docstring'''


          UpperCAmelCase__     :						List[str]						=							[-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      lowerCamelCase_  (      __a	,			unittest.TestCase ):
      lowerCAmelCase__							=	SimpleCrossAttnUpBlockaD  # noqa F405
      lowerCAmelCase__							=	'''up'''






      @property
      def lowercase_				(   self							:       int					):


          '''simple docstring'''


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






      def lowercase_				(   self							:       Optional[int]					):


          '''simple docstring'''


          UpperCAmelCase__		,		UpperCAmelCase__     :						Union[str, Any]						=							super().prepare_init_args_and_inputs_for_common()
          UpperCAmelCase__     :						int						=							32
          return init_dict, inputs_dict






      def lowercase_				(   self							:       Any					):


          '''simple docstring'''


          UpperCAmelCase__     :						Tuple						=							[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      lowerCamelCase_  (      __a	,			unittest.TestCase ):
      lowerCAmelCase__							=	AttnUpBlockaD  # noqa F405
      lowerCAmelCase__							=	'''up'''






      @property
      def lowercase_				(   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 lowercase_				(   self							:       Any					):


          '''simple docstring'''


          UpperCAmelCase__     :						Optional[int]						=							[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      lowerCamelCase_  (      __a	,			unittest.TestCase ):
      lowerCAmelCase__							=	SkipUpBlockaD  # noqa F405
      lowerCAmelCase__							=	'''up'''






      @property
      def lowercase_				(   self							:       Tuple					):


          '''simple docstring'''


          return super().get_dummy_input(include_res_hidden_states_tuple=__lowerCAmelCase					)






      def lowercase_				(   self							:       str					):


          '''simple docstring'''


          UpperCAmelCase__     :						Optional[Any]						=							[-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      lowerCamelCase_  (      __a	,			unittest.TestCase ):
      lowerCAmelCase__							=	AttnSkipUpBlockaD  # noqa F405
      lowerCAmelCase__							=	'''up'''






      @property
      def lowercase_				(   self							:       List[str]					):


          '''simple docstring'''


          return super().get_dummy_input(include_res_hidden_states_tuple=__lowerCAmelCase					)






      def lowercase_				(   self							:       int					):


          '''simple docstring'''


          UpperCAmelCase__     :						List[str]						=							[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      lowerCamelCase_  (      __a	,			unittest.TestCase ):
      lowerCAmelCase__							=	UpDecoderBlockaD  # noqa F405
      lowerCAmelCase__							=	'''up'''






      @property
      def lowercase_				(   self							:       Optional[int]					):


          '''simple docstring'''


          return super().get_dummy_input(include_temb=__lowerCAmelCase					)






      def lowercase_				(   self							:       Union[str, Any]					):


          '''simple docstring'''


          UpperCAmelCase__     :						str						=							{'''in_channels''': 32, '''out_channels''': 32}

          UpperCAmelCase__     :						str						=							self.dummy_input
          return init_dict, inputs_dict






      def lowercase_				(   self							:       List[str]					):


          '''simple docstring'''


          UpperCAmelCase__     :						Tuple						=							[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      lowerCamelCase_  (      __a	,			unittest.TestCase ):
      lowerCAmelCase__							=	AttnUpDecoderBlockaD  # noqa F405
      lowerCAmelCase__							=	'''up'''






      @property
      def lowercase_				(   self							:       Any					):


          '''simple docstring'''


          return super().get_dummy_input(include_temb=__lowerCAmelCase					)






      def lowercase_				(   self							:       Optional[int]					):


          '''simple docstring'''


          UpperCAmelCase__     :						str						=							{'''in_channels''': 32, '''out_channels''': 32}

          UpperCAmelCase__     :						Optional[int]						=							self.dummy_input
          return init_dict, inputs_dict






      def lowercase_				(   self							:       int					):


          '''simple docstring'''


          UpperCAmelCase__     :						Optional[int]						=							[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					)







from ...configuration_utils import PretrainedConfig
from ...utils import logging


A       :   Optional[int]					= logging.get_logger(__name__)

A       :   Dict					= {
    '''vinvino02/glpn-kitti''': '''https://huggingface.co/vinvino02/glpn-kitti/resolve/main/config.json''',
    # See all GLPN models at https://huggingface.co/models?filter=glpn
}


class     A     (SCREAMING_SNAKE_CASE       ):
			'''simple docstring'''




			__lowerCamelCase      :			Tuple							     =       '''glpn'''






			def __init__(     self  :       Optional[int]				,      __lowerCAmelCase  :       Union[str, Any]=3				,      __lowerCAmelCase  :       Any=4				,      __lowerCAmelCase  :       Tuple=[2, 2, 2, 2]				,      __lowerCAmelCase  :       int=[8, 4, 2, 1]				,      __lowerCAmelCase  :       int=[32, 64, 1_60, 2_56]				,      __lowerCAmelCase  :       str=[7, 3, 3, 3]				,      __lowerCAmelCase  :       Dict=[4, 2, 2, 2]				,      __lowerCAmelCase  :       List[str]=[1, 2, 5, 8]				,      __lowerCAmelCase  :       List[Any]=[4, 4, 4, 4]				,      __lowerCAmelCase  :       str="gelu"				,      __lowerCAmelCase  :       Union[str, Any]=0.0				,      __lowerCAmelCase  :       Tuple=0.0				,      __lowerCAmelCase  :       List[Any]=0.0_2				,      __lowerCAmelCase  :       Dict=0.1				,      __lowerCAmelCase  :       Dict=1e-6				,      __lowerCAmelCase  :       Tuple=64				,      __lowerCAmelCase  :       Tuple=10				,      __lowerCAmelCase  :       Union[str, Any]=-1				,      **__lowerCAmelCase  :       Any				,      )      ->      Tuple:







					"""simple docstring"""






					super().__init__(**__lowerCAmelCase  )

					A__     =  num_channels
					A__     =  num_encoder_blocks
					A__     =  depths
					A__     =  sr_ratios
					A__     =  hidden_sizes
					A__     =  patch_sizes
					A__     =  strides
					A__     =  mlp_ratios
					A__     =  num_attention_heads
					A__     =  hidden_act
					A__     =  hidden_dropout_prob
					A__     =  attention_probs_dropout_prob
					A__     =  initializer_range
					A__     =  drop_path_rate
					A__     =  layer_norm_eps
					A__     =  decoder_hidden_size
					A__     =  max_depth
					A__     =  head_in_index



