


'''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      ):





							'''simple docstring'''


							def UpperCAmelCase_			(					self						):
											_SCREAMING_SNAKE_CASE				: str  	=   tf.constant([-100, -1.0, -0.1, 0, 0.1, 1.0, 100.0]						)
											_SCREAMING_SNAKE_CASE				: int  	=   get_tf_activation("""gelu"""						)
											_SCREAMING_SNAKE_CASE				: Tuple  	=   get_tf_activation("""gelu_10"""						)

											_SCREAMING_SNAKE_CASE				: Optional[int]  	=   gelu(__snake_case						)
											_SCREAMING_SNAKE_CASE				: Tuple  	=   geluaa(__snake_case						)

											_SCREAMING_SNAKE_CASE				: int  	=   tf.where(y_gelu_aa < 10.0					,      1.0					,      0.0						)

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






							def UpperCAmelCase_			(					self						):
											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

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_sentencepiece_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


UpperCAmelCase_	:     Union[str, Any]							     =	{'configuration_pegasus': ['PEGASUS_PRETRAINED_CONFIG_ARCHIVE_MAP', 'PegasusConfig']}

try:
				if not is_sentencepiece_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				UpperCAmelCase_	:     Dict							     =	['PegasusTokenizer']

try:
				if not is_tokenizers_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				UpperCAmelCase_	:     Optional[int]							     =	['PegasusTokenizerFast']

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				UpperCAmelCase_	:     Optional[int]							     =	[
				    'PEGASUS_PRETRAINED_MODEL_ARCHIVE_LIST',
				    'PegasusForCausalLM',
				    'PegasusForConditionalGeneration',
				    'PegasusModel',
				    'PegasusPreTrainedModel',
				]

try:
				if not is_tf_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				UpperCAmelCase_	:     Optional[Any]							     =	[
				    'TFPegasusForConditionalGeneration',
				    'TFPegasusModel',
				    'TFPegasusPreTrainedModel',
				]

try:
				if not is_flax_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				UpperCAmelCase_	:     Any							     =	[
				    'FlaxPegasusForConditionalGeneration',
				    'FlaxPegasusModel',
				    'FlaxPegasusPreTrainedModel',
				]


if TYPE_CHECKING:
				from .configuration_pegasus import PEGASUS_PRETRAINED_CONFIG_ARCHIVE_MAP, PegasusConfig

				try:
								if not is_sentencepiece_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .tokenization_pegasus import PegasusTokenizer

				try:
								if not is_tokenizers_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .tokenization_pegasus_fast import PegasusTokenizerFast

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_pegasus import (
								    PEGASUS_PRETRAINED_MODEL_ARCHIVE_LIST,
								    PegasusForCausalLM,
								    PegasusForConditionalGeneration,
								    PegasusModel,
								    PegasusPreTrainedModel,
								)

				try:
								if not is_tf_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_tf_pegasus import TFPegasusForConditionalGeneration, TFPegasusModel, TFPegasusPreTrainedModel

				try:
								if not is_flax_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_flax_pegasus import (
								    FlaxPegasusForConditionalGeneration,
								    FlaxPegasusModel,
								    FlaxPegasusPreTrainedModel,
								)

else:
				import sys

				UpperCAmelCase_	:     List[str]							     =	_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)




