






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  )






from argparse import ArgumentParser

from .env import EnvironmentCommand






def 							__lowercase   ( ):
							a__             =     ArgumentParser('Diffusers CLI tool'					,    usage='diffusers-cli <command> [<args>]'   )
							a__             =     parser.add_subparsers(help='diffusers-cli command helpers'   )

							# Register commands
							EnvironmentCommand.register_subcommand(__lowerCAmelCase   )

							# Let's go
							a__             =     parser.parse_args()

							if not hasattr(__lowerCAmelCase					,    'func'   ):
														parser.print_help()
														exit(1   )

							# Run
							a__             =     args.func(__lowerCAmelCase   )
							service.run()


if __name__ == "__main__":
						main()




