




'''simple docstring'''






import unittest

import numpy as np

from transformers import is_tf_available
from transformers.testing_utils import require_tf


if is_tf_available():
      import tensorflow as tf

      from transformers.activations_tf import get_tf_activation






@require_tf
class 					lowercase_			(	unittest.TestCase       ):





     def  _lowerCAmelCase			(    self    :				Any ):
           snake_case__					:      Union[str, Any]  			=						tf.constant([-100, -1.0, -0.1, 0, 0.1, 1.0, 1_0_0.0] )
           snake_case__					:      List[Any]  			=						get_tf_activation('gelu' )
           snake_case__					:      List[str]  			=						get_tf_activation('gelu_10' )

           snake_case__					:      Union[str, Any]  			=						gelu(__snake_case )
           snake_case__					:      Any  			=						geluaa(__snake_case )

           snake_case__					:      Tuple  			=						tf.where(y_gelu_aa < 1_0.0    ,       1.0    ,       0.0 )

           self.assertEqual(tf.math.reduce_max(__snake_case ).numpy().item()    ,       1_0.0 )
           self.assertTrue(np.allclose(y_gelu * clipped_mask    ,       y_gelu_aa * clipped_mask ) )





     def  _lowerCAmelCase			(    self    :				List[str] ):
           get_tf_activation('gelu' )
           get_tf_activation('gelu_10' )
           get_tf_activation('gelu_fast' )
           get_tf_activation('gelu_new' )
           get_tf_activation('glu' )
           get_tf_activation('mish' )
           get_tf_activation('quick_gelu' )
           get_tf_activation('relu' )
           get_tf_activation('sigmoid' )
           get_tf_activation('silu' )
           get_tf_activation('swish' )
           get_tf_activation('tanh' )
           with self.assertRaises(__snake_case ):
                 get_tf_activation('bogus' )
           with self.assertRaises(__snake_case ):
                 get_tf_activation(__snake_case )






'''simple docstring'''






from typing import TYPE_CHECKING

# rely on isort to merge the imports
from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_sentencepiece_available, is_torch_available


A_ 			=		{
    "configuration_ernie_m": ["ERNIE_M_PRETRAINED_CONFIG_ARCHIVE_MAP", "ErnieMConfig"],
}

try:
      if not is_sentencepiece_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      A_ 			=		["ErnieMTokenizer"]

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      A_ 			=		[
          "ERNIE_M_PRETRAINED_MODEL_ARCHIVE_LIST",
          "ErnieMForMultipleChoice",
          "ErnieMForQuestionAnswering",
          "ErnieMForSequenceClassification",
          "ErnieMForTokenClassification",
          "ErnieMModel",
          "ErnieMPreTrainedModel",
          "ErnieMForInformationExtraction",
      ]


if TYPE_CHECKING:
      from .configuration_ernie_m import ERNIE_M_PRETRAINED_CONFIG_ARCHIVE_MAP, ErnieMConfig

      try:
            if not is_sentencepiece_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .tokenization_ernie_m import ErnieMTokenizer

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_ernie_m import (
                ERNIE_M_PRETRAINED_MODEL_ARCHIVE_LIST,
                ErnieMForInformationExtraction,
                ErnieMForMultipleChoice,
                ErnieMForQuestionAnswering,
                ErnieMForSequenceClassification,
                ErnieMForTokenClassification,
                ErnieMModel,
                ErnieMPreTrainedModel,
            )


else:
      import sys

      A_ 			=		_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)
