




'''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   _a							(		__lowerCAmelCase   ,   unittest.TestCase				):
     SCREAMING_SNAKE_CASE_				:       Any       							=		DownBlockaD  # noqa F405
     SCREAMING_SNAKE_CASE_				:       Union[str, Any]       							=		"""down"""






     def 							_lowercase      (					self       )				->     Any:
          _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(_SCREAMING_SNAKE_CASE       )







class   _a							(		__lowerCAmelCase   ,   unittest.TestCase				):
     SCREAMING_SNAKE_CASE_				:       Tuple       							=		ResnetDownsampleBlockaD  # noqa F405
     SCREAMING_SNAKE_CASE_				:       str       							=		"""down"""






     def 							_lowercase      (					self       )				->     Optional[Any]:
          _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(_SCREAMING_SNAKE_CASE       )







class   _a							(		__lowerCAmelCase   ,   unittest.TestCase				):
     SCREAMING_SNAKE_CASE_				:       int       							=		AttnDownBlockaD  # noqa F405
     SCREAMING_SNAKE_CASE_				:       Optional[Any]       							=		"""down"""






     def 							_lowercase      (					self       )				->     Union[str, Any]:
          _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(_SCREAMING_SNAKE_CASE       )







class   _a							(		__lowerCAmelCase   ,   unittest.TestCase				):
     SCREAMING_SNAKE_CASE_				:       Any       							=		CrossAttnDownBlockaD  # noqa F405
     SCREAMING_SNAKE_CASE_				:       Tuple       							=		"""down"""






     def 							_lowercase      (					self       )				->     Union[str, Any]:
          _snake_case				,   _snake_case				= super().prepare_init_args_and_inputs_for_common()
          _snake_case				= 32
          return init_dict, inputs_dict






     def 							_lowercase      (					self       )				->     Any:
          _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(_SCREAMING_SNAKE_CASE       )







class   _a							(		__lowerCAmelCase   ,   unittest.TestCase				):
     SCREAMING_SNAKE_CASE_				:       str       							=		SimpleCrossAttnDownBlockaD  # noqa F405
     SCREAMING_SNAKE_CASE_				:       Optional[Any]       							=		"""down"""






     @property
     def 							_lowercase      (					self       )				->     Union[str, Any]:
          return super().get_dummy_input(include_encoder_hidden_states=_SCREAMING_SNAKE_CASE       )






     def 							_lowercase      (					self       )				->     Any:
          _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 							_lowercase      (					self       )				->     List[Any]:
          _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(_SCREAMING_SNAKE_CASE       )







class   _a							(		__lowerCAmelCase   ,   unittest.TestCase				):
     SCREAMING_SNAKE_CASE_				:       Tuple       							=		SkipDownBlockaD  # noqa F405
     SCREAMING_SNAKE_CASE_				:       Dict       							=		"""down"""






     @property
     def 							_lowercase      (					self       )				->     int:
          return super().get_dummy_input(include_skip_sample=_SCREAMING_SNAKE_CASE       )






     def 							_lowercase      (					self       )				->     int:
          _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(_SCREAMING_SNAKE_CASE       )







class   _a							(		__lowerCAmelCase   ,   unittest.TestCase				):
     SCREAMING_SNAKE_CASE_				:       int       							=		AttnSkipDownBlockaD  # noqa F405
     SCREAMING_SNAKE_CASE_				:       Optional[int]       							=		"""down"""






     @property
     def 							_lowercase      (					self       )				->     List[Any]:
          return super().get_dummy_input(include_skip_sample=_SCREAMING_SNAKE_CASE       )






     def 							_lowercase      (					self       )				->     Dict:
          _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(_SCREAMING_SNAKE_CASE       )







class   _a							(		__lowerCAmelCase   ,   unittest.TestCase				):
     SCREAMING_SNAKE_CASE_				:       str       							=		DownEncoderBlockaD  # noqa F405
     SCREAMING_SNAKE_CASE_				:       Optional[int]       							=		"""down"""






     @property
     def 							_lowercase      (					self       )				->     int:
          return super().get_dummy_input(include_temb=_SCREAMING_SNAKE_CASE       )






     def 							_lowercase      (					self       )				->     List[str]:
          _snake_case				= {
              "in_channels": 32,
              "out_channels": 32,
          }
          _snake_case				= self.dummy_input
          return init_dict, inputs_dict






     def 							_lowercase      (					self       )				->     Dict:
          _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(_SCREAMING_SNAKE_CASE       )







class   _a							(		__lowerCAmelCase   ,   unittest.TestCase				):
     SCREAMING_SNAKE_CASE_				:       Optional[int]       							=		AttnDownEncoderBlockaD  # noqa F405
     SCREAMING_SNAKE_CASE_				:       Tuple       							=		"""down"""






     @property
     def 							_lowercase      (					self       )				->     str:
          return super().get_dummy_input(include_temb=_SCREAMING_SNAKE_CASE       )






     def 							_lowercase      (					self       )				->     Union[str, Any]:
          _snake_case				= {
              "in_channels": 32,
              "out_channels": 32,
          }
          _snake_case				= self.dummy_input
          return init_dict, inputs_dict






     def 							_lowercase      (					self       )				->     List[str]:
          _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(_SCREAMING_SNAKE_CASE       )







class   _a							(		__lowerCAmelCase   ,   unittest.TestCase				):
     SCREAMING_SNAKE_CASE_				:       Tuple       							=		UNetMidBlockaD  # noqa F405
     SCREAMING_SNAKE_CASE_				:       List[Any]       							=		"""mid"""






     def 							_lowercase      (					self       )				->     Dict:
          _snake_case				= {
              "in_channels": 32,
              "temb_channels": 128,
          }
          _snake_case				= self.dummy_input
          return init_dict, inputs_dict






     def 							_lowercase      (					self       )				->     Tuple:
          _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(_SCREAMING_SNAKE_CASE       )







class   _a							(		__lowerCAmelCase   ,   unittest.TestCase				):
     SCREAMING_SNAKE_CASE_				:       Dict       							=		UNetMidBlockaDCrossAttn  # noqa F405
     SCREAMING_SNAKE_CASE_				:       Union[str, Any]       							=		"""mid"""






     def 							_lowercase      (					self       )				->     Union[str, Any]:
          _snake_case				,   _snake_case				= super().prepare_init_args_and_inputs_for_common()
          _snake_case				= 32
          return init_dict, inputs_dict






     def 							_lowercase      (					self       )				->     List[str]:
          _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(_SCREAMING_SNAKE_CASE       )







class   _a							(		__lowerCAmelCase   ,   unittest.TestCase				):
     SCREAMING_SNAKE_CASE_				:       Any       							=		UNetMidBlockaDSimpleCrossAttn  # noqa F405
     SCREAMING_SNAKE_CASE_				:       Dict       							=		"""mid"""






     @property
     def 							_lowercase      (					self       )				->     Tuple:
          return super().get_dummy_input(include_encoder_hidden_states=_SCREAMING_SNAKE_CASE       )






     def 							_lowercase      (					self       )				->     Optional[int]:
          _snake_case				,   _snake_case				= super().prepare_init_args_and_inputs_for_common()
          _snake_case				= 32
          return init_dict, inputs_dict






     def 							_lowercase      (					self       )				->     int:
          _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(_SCREAMING_SNAKE_CASE       )







class   _a							(		__lowerCAmelCase   ,   unittest.TestCase				):
     SCREAMING_SNAKE_CASE_				:       int       							=		UpBlockaD  # noqa F405
     SCREAMING_SNAKE_CASE_				:       Union[str, Any]       							=		"""up"""






     @property
     def 							_lowercase      (					self       )				->     Tuple:
          return super().get_dummy_input(include_res_hidden_states_tuple=_SCREAMING_SNAKE_CASE       )






     def 							_lowercase      (					self       )				->     Union[str, Any]:
          _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(_SCREAMING_SNAKE_CASE       )







class   _a							(		__lowerCAmelCase   ,   unittest.TestCase				):
     SCREAMING_SNAKE_CASE_				:       Optional[int]       							=		ResnetUpsampleBlockaD  # noqa F405
     SCREAMING_SNAKE_CASE_				:       str       							=		"""up"""






     @property
     def 							_lowercase      (					self       )				->     List[Any]:
          return super().get_dummy_input(include_res_hidden_states_tuple=_SCREAMING_SNAKE_CASE       )






     def 							_lowercase      (					self       )				->     Dict:
          _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(_SCREAMING_SNAKE_CASE       )







class   _a							(		__lowerCAmelCase   ,   unittest.TestCase				):
     SCREAMING_SNAKE_CASE_				:       Optional[int]       							=		CrossAttnUpBlockaD  # noqa F405
     SCREAMING_SNAKE_CASE_				:       Optional[int]       							=		"""up"""






     @property
     def 							_lowercase      (					self       )				->     Tuple:
          return super().get_dummy_input(include_res_hidden_states_tuple=_SCREAMING_SNAKE_CASE       )






     def 							_lowercase      (					self       )				->     Any:
          _snake_case				,   _snake_case				= super().prepare_init_args_and_inputs_for_common()
          _snake_case				= 32
          return init_dict, inputs_dict






     def 							_lowercase      (					self       )				->     Optional[Any]:
          _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(_SCREAMING_SNAKE_CASE       )







class   _a							(		__lowerCAmelCase   ,   unittest.TestCase				):
     SCREAMING_SNAKE_CASE_				:       List[str]       							=		SimpleCrossAttnUpBlockaD  # noqa F405
     SCREAMING_SNAKE_CASE_				:       Any       							=		"""up"""






     @property
     def 							_lowercase      (					self       )				->     List[str]:
          return super().get_dummy_input(include_res_hidden_states_tuple=_SCREAMING_SNAKE_CASE   ,include_encoder_hidden_states=_SCREAMING_SNAKE_CASE       )






     def 							_lowercase      (					self       )				->     Any:
          _snake_case				,   _snake_case				= super().prepare_init_args_and_inputs_for_common()
          _snake_case				= 32
          return init_dict, inputs_dict






     def 							_lowercase      (					self       )				->     Optional[Any]:
          _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(_SCREAMING_SNAKE_CASE       )







class   _a							(		__lowerCAmelCase   ,   unittest.TestCase				):
     SCREAMING_SNAKE_CASE_				:       List[str]       							=		AttnUpBlockaD  # noqa F405
     SCREAMING_SNAKE_CASE_				:       List[Any]       							=		"""up"""






     @property
     def 							_lowercase      (					self       )				->     Dict:
          return super().get_dummy_input(include_res_hidden_states_tuple=_SCREAMING_SNAKE_CASE       )






     @unittest.skipIf(torch_device == "mps"   ,"MPS result is not consistent"       )
     def 							_lowercase      (					self       )				->     Any:
          _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(_SCREAMING_SNAKE_CASE       )







class   _a							(		__lowerCAmelCase   ,   unittest.TestCase				):
     SCREAMING_SNAKE_CASE_				:       Dict       							=		SkipUpBlockaD  # noqa F405
     SCREAMING_SNAKE_CASE_				:       Union[str, Any]       							=		"""up"""






     @property
     def 							_lowercase      (					self       )				->     List[str]:
          return super().get_dummy_input(include_res_hidden_states_tuple=_SCREAMING_SNAKE_CASE       )






     def 							_lowercase      (					self       )				->     Optional[int]:
          _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(_SCREAMING_SNAKE_CASE       )







class   _a							(		__lowerCAmelCase   ,   unittest.TestCase				):
     SCREAMING_SNAKE_CASE_				:       Union[str, Any]       							=		AttnSkipUpBlockaD  # noqa F405
     SCREAMING_SNAKE_CASE_				:       Any       							=		"""up"""






     @property
     def 							_lowercase      (					self       )				->     str:
          return super().get_dummy_input(include_res_hidden_states_tuple=_SCREAMING_SNAKE_CASE       )






     def 							_lowercase      (					self       )				->     str:
          _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(_SCREAMING_SNAKE_CASE       )







class   _a							(		__lowerCAmelCase   ,   unittest.TestCase				):
     SCREAMING_SNAKE_CASE_				:       List[str]       							=		UpDecoderBlockaD  # noqa F405
     SCREAMING_SNAKE_CASE_				:       List[Any]       							=		"""up"""






     @property
     def 							_lowercase      (					self       )				->     Optional[Any]:
          return super().get_dummy_input(include_temb=_SCREAMING_SNAKE_CASE       )






     def 							_lowercase      (					self       )				->     Union[str, Any]:
          _snake_case				= {"in_channels": 32, "out_channels": 32}

          _snake_case				= self.dummy_input
          return init_dict, inputs_dict






     def 							_lowercase      (					self       )				->     List[Any]:
          _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(_SCREAMING_SNAKE_CASE       )







class   _a							(		__lowerCAmelCase   ,   unittest.TestCase				):
     SCREAMING_SNAKE_CASE_				:       int       							=		AttnUpDecoderBlockaD  # noqa F405
     SCREAMING_SNAKE_CASE_				:       str       							=		"""up"""






     @property
     def 							_lowercase      (					self       )				->     Optional[int]:
          return super().get_dummy_input(include_temb=_SCREAMING_SNAKE_CASE       )






     def 							_lowercase      (					self       )				->     int:
          _snake_case				= {"in_channels": 32, "out_channels": 32}

          _snake_case				= self.dummy_input
          return init_dict, inputs_dict






     def 							_lowercase      (					self       )				->     Dict:
          _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(_SCREAMING_SNAKE_CASE       )








'''simple docstring'''





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


UpperCamelCase_		:     List[Any]          =		logging.get_logger(__name__)

UpperCamelCase_		:     Tuple          =		{
    '''RWKV/rwkv-4-169m-pile''': '''https://huggingface.co/RWKV/rwkv-4-169m-pile/resolve/main/config.json''',
    '''RWKV/rwkv-4-430m-pile''': '''https://huggingface.co/RWKV/rwkv-4-430m-pile/resolve/main/config.json''',
    '''RWKV/rwkv-4-1b5-pile''': '''https://huggingface.co/RWKV/rwkv-4-1b5-pile/resolve/main/config.json''',
    '''RWKV/rwkv-4-3b-pile''': '''https://huggingface.co/RWKV/rwkv-4-3b-pile/resolve/main/config.json''',
    '''RWKV/rwkv-4-7b-pile''': '''https://huggingface.co/RWKV/rwkv-4-7b-pile/resolve/main/config.json''',
    '''RWKV/rwkv-4-14b-pile''': '''https://huggingface.co/RWKV/rwkv-4-14b-pile/resolve/main/config.json''',
    '''RWKV/rwkv-raven-1b5''': '''https://huggingface.co/RWKV/rwkv-raven-1b5/resolve/main/config.json''',
    '''RWKV/rwkv-raven-3b''': '''https://huggingface.co/RWKV/rwkv-raven-3b/resolve/main/config.json''',
    '''RWKV/rwkv-raven-7b''': '''https://huggingface.co/RWKV/rwkv-raven-7b/resolve/main/config.json''',
    '''RWKV/rwkv-raven-14b''': '''https://huggingface.co/RWKV/rwkv-raven-14b/resolve/main/config.json''',
}

class   _a							(		__lowerCAmelCase				):
     SCREAMING_SNAKE_CASE_				:       List[str]       							=		"""rwkv"""
     SCREAMING_SNAKE_CASE_				:       Any       							=		{"""max_position_embeddings""": """context_length"""}






     def __init__(					self   ,_SCREAMING_SNAKE_CASE=50_277   ,_SCREAMING_SNAKE_CASE=1_024   ,_SCREAMING_SNAKE_CASE=4_096   ,_SCREAMING_SNAKE_CASE=32   ,_SCREAMING_SNAKE_CASE=None   ,_SCREAMING_SNAKE_CASE=None   ,_SCREAMING_SNAKE_CASE=1e-5   ,_SCREAMING_SNAKE_CASE=0   ,_SCREAMING_SNAKE_CASE=0   ,_SCREAMING_SNAKE_CASE=6   ,_SCREAMING_SNAKE_CASE=False   ,_SCREAMING_SNAKE_CASE=True   ,**_SCREAMING_SNAKE_CASE   ,)				->     List[str]:
          _snake_case				= vocab_size
          _snake_case				= context_length
          _snake_case				= hidden_size
          _snake_case				= num_hidden_layers
          _snake_case				= attention_hidden_size if attention_hidden_size is not None else hidden_size
          _snake_case				= intermediate_size if intermediate_size is not None else 4 * hidden_size
          _snake_case				= layer_norm_epsilon
          _snake_case				= rescale_every
          _snake_case				= use_cache

          _snake_case				= bos_token_id
          _snake_case				= eos_token_id

          super().__init__(
              tie_word_embeddings=_SCREAMING_SNAKE_CASE   ,bos_token_id=_SCREAMING_SNAKE_CASE   ,eos_token_id=_SCREAMING_SNAKE_CASE   ,**_SCREAMING_SNAKE_CASE       )


