





"""simple docstring"""




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


a		:				Optional[Any]  			=    logging.get_logger(__name__)

a		:				List[Any]  			=    {
    '''tanreinama/GPTSAN-2.8B-spout_is_uniform''': (
        '''https://huggingface.co/tanreinama/GPTSAN-2.8B-spout_is_uniform/resolve/main/config.json'''
    ),
}


class  __UpperCamelCase       (		a__		):
							lowerCamelCase     :      List[Any]         ="""gptsan-japanese"""
							lowerCamelCase     :      Any         =[
							    """past_key_values""",
							]
							lowerCamelCase     :      Optional[Any]         ={
							    """hidden_size""": """d_model""",
							    """num_attention_heads""": """num_heads""",
							    """num_hidden_layers""": """num_layers""",
							}






							def __init__(     self   ,      lowerCAmelCase__=3_6000   ,      lowerCAmelCase__=1280   ,      lowerCAmelCase__=1024   ,      lowerCAmelCase__=8192   ,      lowerCAmelCase__=4096   ,      lowerCAmelCase__=128   ,      lowerCAmelCase__=10   ,      lowerCAmelCase__=0   ,      lowerCAmelCase__=16   ,      lowerCAmelCase__=16   ,      lowerCAmelCase__=128   ,      lowerCAmelCase__=0.0   ,      lowerCAmelCase__=1E-5   ,      lowerCAmelCase__=False   ,      lowerCAmelCase__=0.0   ,      lowerCAmelCase__="float32"   ,      lowerCAmelCase__=False   ,      lowerCAmelCase__=False   ,      lowerCAmelCase__=False   ,      lowerCAmelCase__=0.002   ,      lowerCAmelCase__=False   ,      lowerCAmelCase__=True   ,      lowerCAmelCase__=3_5998   ,      lowerCAmelCase__=3_5995   ,      lowerCAmelCase__=3_5999   ,      **lowerCAmelCase__   ,      )			->				Optional[Any]:
								a   :	Tuple			=       vocab_size
								a   :	Any			=       max_position_embeddings
								a   :	Tuple			=       d_model
								a   :	Dict			=       d_ff
								a   :	Tuple			=       d_ext
								a   :	List[str]			=       d_spout
								a   :	Dict			=       num_switch_layers
								a   :	Any			=       num_ext_layers
								a   :	Union[str, Any]			=       num_switch_layers + num_ext_layers
								a   :	Dict			=       num_heads
								a   :	List[Any]			=       num_experts
								a   :	Dict			=       expert_capacity
								a   :	Optional[int]			=       dropout_rate
								a   :	int			=       layer_norm_epsilon
								a   :	Union[str, Any]			=       router_bias
								a   :	Any			=       router_jitter_noise
								a   :	List[Any]			=       router_dtype
								a   :	List[str]			=       router_ignore_padding_tokens
								a   :	str			=       output_hidden_states
								a   :	Any			=       output_attentions
								a   :	Optional[int]			=       initializer_factor
								a   :	Dict			=       output_router_logits
								a   :	Tuple			=       use_cache

								super().__init__(
								    separator_token_id=lowerCAmelCase__   ,      pad_token_id=lowerCAmelCase__   ,      eos_token_id=lowerCAmelCase__   ,      **lowerCAmelCase__   ,      )









"""simple docstring"""




import unittest

from diffusers.pipelines.pipeline_utils import is_safetensors_compatible


class  __UpperCamelCase       (		unittest.TestCase		):






							def 					__a     (     self   )			->				Optional[Any]:
								a   :	Optional[int]			=       [
								    "safety_checker/pytorch_model.bin",
								    "safety_checker/model.safetensors",
								    "vae/diffusion_pytorch_model.bin",
								    "vae/diffusion_pytorch_model.safetensors",
								    "text_encoder/pytorch_model.bin",
								    "text_encoder/model.safetensors",
								    "unet/diffusion_pytorch_model.bin",
								    "unet/diffusion_pytorch_model.safetensors",
								]
								self.assertTrue(is_safetensors_compatible(lowerCAmelCase__   )   )






							def 					__a     (     self   )			->				Optional[Any]:
								a   :	str			=       [
								    "unet/diffusion_pytorch_model.bin",
								    "unet/diffusion_pytorch_model.safetensors",
								]
								self.assertTrue(is_safetensors_compatible(lowerCAmelCase__   )   )






							def 					__a     (     self   )			->				Dict:
								a   :	List[str]			=       [
								    "safety_checker/pytorch_model.bin",
								    "safety_checker/model.safetensors",
								    "vae/diffusion_pytorch_model.bin",
								    "vae/diffusion_pytorch_model.safetensors",
								    "text_encoder/pytorch_model.bin",
								    "text_encoder/model.safetensors",
								    "unet/diffusion_pytorch_model.bin",
								    # Removed: 'unet/diffusion_pytorch_model.safetensors',
								]
								self.assertFalse(is_safetensors_compatible(lowerCAmelCase__   )   )






							def 					__a     (     self   )			->				List[Any]:
								a   :	Optional[Any]			=       [
								    "text_encoder/pytorch_model.bin",
								    "text_encoder/model.safetensors",
								]
								self.assertTrue(is_safetensors_compatible(lowerCAmelCase__   )   )






							def 					__a     (     self   )			->				Tuple:
								a   :	Tuple			=       [
								    "safety_checker/pytorch_model.bin",
								    "safety_checker/model.safetensors",
								    "vae/diffusion_pytorch_model.bin",
								    "vae/diffusion_pytorch_model.safetensors",
								    "text_encoder/pytorch_model.bin",
								    # Removed: 'text_encoder/model.safetensors',
								    "unet/diffusion_pytorch_model.bin",
								    "unet/diffusion_pytorch_model.safetensors",
								]
								self.assertFalse(is_safetensors_compatible(lowerCAmelCase__   )   )






							def 					__a     (     self   )			->				Dict:
								a   :	Dict			=       [
								    "safety_checker/pytorch_model.fp16.bin",
								    "safety_checker/model.fp16.safetensors",
								    "vae/diffusion_pytorch_model.fp16.bin",
								    "vae/diffusion_pytorch_model.fp16.safetensors",
								    "text_encoder/pytorch_model.fp16.bin",
								    "text_encoder/model.fp16.safetensors",
								    "unet/diffusion_pytorch_model.fp16.bin",
								    "unet/diffusion_pytorch_model.fp16.safetensors",
								]
								a   :	Dict			=       "fp16"
								self.assertTrue(is_safetensors_compatible(lowerCAmelCase__   ,      variant=lowerCAmelCase__   )   )






							def 					__a     (     self   )			->				List[str]:
								a   :	List[Any]			=       [
								    "unet/diffusion_pytorch_model.fp16.bin",
								    "unet/diffusion_pytorch_model.fp16.safetensors",
								]
								a   :	Any			=       "fp16"
								self.assertTrue(is_safetensors_compatible(lowerCAmelCase__   ,      variant=lowerCAmelCase__   )   )






							def 					__a     (     self   )			->				int:
								# pass variant but use the non-variant filenames
								a   :	int			=       [
								    "unet/diffusion_pytorch_model.bin",
								    "unet/diffusion_pytorch_model.safetensors",
								]
								a   :	Tuple			=       "fp16"
								self.assertTrue(is_safetensors_compatible(lowerCAmelCase__   ,      variant=lowerCAmelCase__   )   )






							def 					__a     (     self   )			->				str:
								a   :	str			=       [
								    "safety_checker/pytorch_model.fp16.bin",
								    "safety_checker/model.fp16.safetensors",
								    "vae/diffusion_pytorch_model.fp16.bin",
								    "vae/diffusion_pytorch_model.fp16.safetensors",
								    "text_encoder/pytorch_model.fp16.bin",
								    "text_encoder/model.fp16.safetensors",
								    "unet/diffusion_pytorch_model.fp16.bin",
								    # Removed: 'unet/diffusion_pytorch_model.fp16.safetensors',
								]
								a   :	Any			=       "fp16"
								self.assertFalse(is_safetensors_compatible(lowerCAmelCase__   ,      variant=lowerCAmelCase__   )   )






							def 					__a     (     self   )			->				str:
								a   :	Union[str, Any]			=       [
								    "text_encoder/pytorch_model.fp16.bin",
								    "text_encoder/model.fp16.safetensors",
								]
								a   :	str			=       "fp16"
								self.assertTrue(is_safetensors_compatible(lowerCAmelCase__   ,      variant=lowerCAmelCase__   )   )






							def 					__a     (     self   )			->				List[str]:
								# pass variant but use the non-variant filenames
								a   :	Optional[int]			=       [
								    "text_encoder/pytorch_model.bin",
								    "text_encoder/model.safetensors",
								]
								a   :	str			=       "fp16"
								self.assertTrue(is_safetensors_compatible(lowerCAmelCase__   ,      variant=lowerCAmelCase__   )   )






							def 					__a     (     self   )			->				Optional[Any]:
								a   :	Any			=       [
								    "safety_checker/pytorch_model.fp16.bin",
								    "safety_checker/model.fp16.safetensors",
								    "vae/diffusion_pytorch_model.fp16.bin",
								    "vae/diffusion_pytorch_model.fp16.safetensors",
								    "text_encoder/pytorch_model.fp16.bin",
								    # 'text_encoder/model.fp16.safetensors',
								    "unet/diffusion_pytorch_model.fp16.bin",
								    "unet/diffusion_pytorch_model.fp16.safetensors",
								]
								a   :	Optional[int]			=       "fp16"
								self.assertFalse(is_safetensors_compatible(lowerCAmelCase__   ,      variant=lowerCAmelCase__   )   )


