



import unittest

import torch
from torch import nn

from diffusers.models.activations import get_activation



class   UpperCAmelCase_    (       unittest.TestCase):







							def    snake_case__      (   self):

														'''simple docstring'''

														_lowerCAmelCase     :							Optional[Any]    =    get_activation("swish")

														self.assertIsInstance(__a,			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    snake_case__      (   self):

														'''simple docstring'''

														_lowerCAmelCase     :							Optional[int]    =    get_activation("silu")

														self.assertIsInstance(__a,			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    snake_case__      (   self):

														'''simple docstring'''

														_lowerCAmelCase     :							Dict    =    get_activation("mish")

														self.assertIsInstance(__a,			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    snake_case__      (   self):

														'''simple docstring'''

														_lowerCAmelCase     :							List[str]    =    get_activation("gelu")

														self.assertIsInstance(__a,			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 typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


lowerCAmelCase					:     Optional[Any]												={
    '''configuration_nllb_moe''': [
        '''NLLB_MOE_PRETRAINED_CONFIG_ARCHIVE_MAP''',
        '''NllbMoeConfig''',
    ]
}

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 lowerCAmelCase					:     Tuple												=[
     '''NLLB_MOE_PRETRAINED_MODEL_ARCHIVE_LIST''',
     '''NllbMoeForConditionalGeneration''',
     '''NllbMoeModel''',
     '''NllbMoePreTrainedModel''',
     '''NllbMoeTop2Router''',
     '''NllbMoeSparseMLP''',
 ]


if TYPE_CHECKING:
 from .configuration_nllb_moe import (
     NLLB_MOE_PRETRAINED_CONFIG_ARCHIVE_MAP,
     NllbMoeConfig,
 )

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_nllb_moe import (
      NLLB_MOE_PRETRAINED_MODEL_ARCHIVE_LIST,
      NllbMoeForConditionalGeneration,
      NllbMoeModel,
      NllbMoePreTrainedModel,
      NllbMoeSparseMLP,
      NllbMoeTopaRouter,
  )


else:
 import sys

 lowerCAmelCase					:     Tuple												=_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)


