
"""simple docstring"""






import unittest

from transformers import load_tool
from transformers.utils import is_torch_available


if is_torch_available():
					import torch

from transformers.testing_utils import require_torch

from .test_tools_common import ToolTesterMixin

@require_torch
class 					__a     ( unittest.TestCase					,   __UpperCamelCase       ):



							'''simple docstring'''







							def   SCREAMING_SNAKE_CASE						(     self       )			->							str:




										'''simple docstring'''
										__lowercase       =       load_tool("text-to-speech"       )
										self.tool.setup()
							def   SCREAMING_SNAKE_CASE						(     self       )			->							Optional[int]:




										'''simple docstring'''
										# SpeechT5 isn't deterministic
										torch.manual_seed(0       )
										__lowercase       =       self.tool("hey"       )
										__lowercase       =       result.to_raw()
										self.assertTrue(
										    torch.allclose(
										        resulting_tensor[:3]  ,    torch.tensor([-0.000_5966_6688_3211_5829, -0.000_3657_6401_9079_5064, -0.0001_3439_5027_9988_3485]       )  ,    )       )





							def   SCREAMING_SNAKE_CASE						(     self       )			->							str:




										'''simple docstring'''
										# SpeechT5 isn't deterministic
										torch.manual_seed(0       )
										__lowercase       =       self.tool("hey"       )
										__lowercase       =       result.to_raw()
										self.assertTrue(
										    torch.allclose(
										        resulting_tensor[:3]  ,    torch.tensor([-0.000_5966_6688_3211_5829, -0.000_3657_6401_9079_5064, -0.0001_3439_5027_9988_3485]       )  ,    )       )












from typing import List

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


_UpperCAmelCase							:			Any        =							logging.get_logger(__name__)

_UpperCAmelCase							:			Union[str, Any]        =							{
    """snap-research/efficientformer-l1-300""": (
        """https://huggingface.co/snap-research/efficientformer-l1-300/resolve/main/config.json"""
    ),
}

class   lowerCAmelCase				(   __UpperCamelCase     ):
 UpperCAmelCase__						=						"""efficientformer"""
 def __init__( self    : Dict     ,	UpperCAmelCase    : List[int] = [3, 2, 6, 4]     ,	UpperCAmelCase    : List[int] = [48, 96, 224, 448]     ,	UpperCAmelCase    : List[bool] = [True, True, True, True]     ,	UpperCAmelCase    : int = 448     ,	UpperCAmelCase    : int = 32     ,	UpperCAmelCase    : int = 4     ,	UpperCAmelCase    : int = 7     ,	UpperCAmelCase    : int = 5     ,	UpperCAmelCase    : int = 8     ,	UpperCAmelCase    : int = 4     ,	UpperCAmelCase    : float = 0.0     ,	UpperCAmelCase    : int = 16     ,	UpperCAmelCase    : int = 3     ,	UpperCAmelCase    : int = 3     ,	UpperCAmelCase    : int = 3     ,	UpperCAmelCase    : int = 2     ,	UpperCAmelCase    : int = 1     ,	UpperCAmelCase    : float = 0.0     ,	UpperCAmelCase    : int = 1     ,	UpperCAmelCase    : bool = True     ,	UpperCAmelCase    : bool = True     ,	UpperCAmelCase    : float = 1e-5     ,	UpperCAmelCase    : str = "gelu"     ,	UpperCAmelCase    : float = 0.0_2     ,	UpperCAmelCase    : float = 1e-12     ,	UpperCAmelCase    : int = 224     ,	UpperCAmelCase    : float = 1e-05     ,	**UpperCAmelCase    : Tuple     ,	)     ->      None:
     super().__init__(**UpperCAmelCase      )

     lowerCamelCase__       : Optional[Any]   					=						hidden_act
     lowerCamelCase__       : int   					=						hidden_dropout_prob
     lowerCamelCase__       : List[Any]   					=						hidden_sizes
     lowerCamelCase__       : int   					=						num_hidden_layers
     lowerCamelCase__       : int   					=						num_attention_heads
     lowerCamelCase__       : Dict   					=						initializer_range
     lowerCamelCase__       : Optional[Any]   					=						layer_norm_eps
     lowerCamelCase__       : int   					=						patch_size
     lowerCamelCase__       : List[Any]   					=						num_channels
     lowerCamelCase__       : List[str]   					=						depths
     lowerCamelCase__       : Any   					=						mlp_expansion_ratio
     lowerCamelCase__       : Any   					=						downsamples
     lowerCamelCase__       : str   					=						dim
     lowerCamelCase__       : Tuple   					=						key_dim
     lowerCamelCase__       : int   					=						attention_ratio
     lowerCamelCase__       : int   					=						resolution
     lowerCamelCase__       : Dict   					=						pool_size
     lowerCamelCase__       : List[str]   					=						downsample_patch_size
     lowerCamelCase__       : Tuple   					=						downsample_stride
     lowerCamelCase__       : int   					=						downsample_pad
     lowerCamelCase__       : Optional[int]   					=						drop_path_rate
     lowerCamelCase__       : Optional[Any]   					=						num_metaad_blocks
     lowerCamelCase__       : Any   					=						distillation
     lowerCamelCase__       : Optional[int]   					=						use_layer_scale
     lowerCamelCase__       : Union[str, Any]   					=						layer_scale_init_value
     lowerCamelCase__       : Optional[int]   					=						image_size
     lowerCamelCase__       : Optional[Any]   					=						batch_norm_eps





