






import unittest

import torch
from torch import nn

from diffusers.models.activations import get_activation






class 		lowercase_					(	unittest.TestCase   ):






      '''simple docstring'''




      def       __lowerCAmelCase					(      self      :						Optional[int]  )    ->Tuple:




       """simple docstring"""


       a		  =      get_activation('''swish'''  )

       self.assertIsInstance(__UpperCAmelCase ,					nn.SiLU  )

       self.assertEqual(act(torch.tensor(-100 ,					dtype=torch.floataa  )  ).item() ,					0  )
       self.assertNotEqual(act(torch.tensor(-1 ,					dtype=torch.floataa  )  ).item() ,					0  )
       self.assertEqual(act(torch.tensor(0 ,					dtype=torch.floataa  )  ).item() ,					0  )
       self.assertEqual(act(torch.tensor(20 ,					dtype=torch.floataa  )  ).item() ,					20  )







      def       __lowerCAmelCase					(      self      :						Dict  )    ->Dict:




       """simple docstring"""


       a		  =      get_activation('''silu'''  )

       self.assertIsInstance(__UpperCAmelCase ,					nn.SiLU  )

       self.assertEqual(act(torch.tensor(-100 ,					dtype=torch.floataa  )  ).item() ,					0  )
       self.assertNotEqual(act(torch.tensor(-1 ,					dtype=torch.floataa  )  ).item() ,					0  )
       self.assertEqual(act(torch.tensor(0 ,					dtype=torch.floataa  )  ).item() ,					0  )
       self.assertEqual(act(torch.tensor(20 ,					dtype=torch.floataa  )  ).item() ,					20  )







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




       """simple docstring"""


       a		  =      get_activation('''mish'''  )

       self.assertIsInstance(__UpperCAmelCase ,					nn.Mish  )

       self.assertEqual(act(torch.tensor(-200 ,					dtype=torch.floataa  )  ).item() ,					0  )
       self.assertNotEqual(act(torch.tensor(-1 ,					dtype=torch.floataa  )  ).item() ,					0  )
       self.assertEqual(act(torch.tensor(0 ,					dtype=torch.floataa  )  ).item() ,					0  )
       self.assertEqual(act(torch.tensor(20 ,					dtype=torch.floataa  )  ).item() ,					20  )







      def       __lowerCAmelCase					(      self      :						Tuple  )    ->Optional[int]:




       """simple docstring"""


       a		  =      get_activation('''gelu'''  )

       self.assertIsInstance(__UpperCAmelCase ,					nn.GELU  )

       self.assertEqual(act(torch.tensor(-100 ,					dtype=torch.floataa  )  ).item() ,					0  )
       self.assertNotEqual(act(torch.tensor(-1 ,					dtype=torch.floataa  )  ).item() ,					0  )
       self.assertEqual(act(torch.tensor(0 ,					dtype=torch.floataa  )  ).item() ,					0  )
       self.assertEqual(act(torch.tensor(20 ,					dtype=torch.floataa  )  ).item() ,					20  )



"""simple docstring"""






from ..utils import DummyObject, requires_backends





class  _A						(       metaclass=lowerCAmelCase	):
      snake_case__			:   List[str]							  =	['onnx']

      def __init__(						self		,       *__lowerCAmelCase		,       **__lowerCAmelCase						):







            """simple docstring"""



            requires_backends(self		,       ["""onnx"""]						)

      @classmethod
      def 				A__       (						cls		,       *__lowerCAmelCase		,       **__lowerCAmelCase						):







            """simple docstring"""



            requires_backends(cls		,       ["""onnx"""]						)







      @classmethod
      def 				A__       (						cls		,       *__lowerCAmelCase		,       **__lowerCAmelCase						):







            """simple docstring"""



            requires_backends(cls		,       ["""onnx"""]						)



