Функция activations.swish
Функция activations.swish применяет к тензору
активацию Swish, которая вычисляется по формуле
x * sigmoid(x). Первым параметром функция
принимает тензор или массив значений. Функция
поэлементно умножает входное значение на его
сигмоиду, что дает плавную нелинейность без
насыщения в отрицательной области.
Синтаксис
tf.keras.activations.swish(x)
Пример
Давайте применим активацию Swish к тензору
из чисел -2, -1, 0, 1, 2:
import tensorflow as tf
t = tf.constant([-2.0, -1.0, 0.0, 1.0, 2.0])
res = tf.keras.activations.swish(t)
print(res)
Результат выполнения кода:
tf.Tensor([-0.23840584 -0.26894143 0. 0.7310586 1.7615942 ], shape=(5,), dtype=float32)
Пример
Давайте применим активацию Swish к двумерному тензору:
import tensorflow as tf
t = tf.constant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])
res = tf.keras.activations.swish(t)
print(res)
Результат выполнения кода:
tf.Tensor(
[[0.7310586 1.7615942 2.8577225 ]
[3.928055 4.9665356 5.9851646 ]], shape=(2, 3), dtype=float32)
Пример
Давайте используем активацию Swish внутри слоя
Dense:
import tensorflow as tf
tf.random.set_seed(0)
model = tf.keras.Sequential([
tf.keras.layers.Dense(3, activation=tf.keras.activations.swish)
])
t = tf.constant([[1.0, 2.0, 3.0]])
res = model(t)
print(res)
Результат выполнения кода:
tf.Tensor([[-1.2083927 0.9198238 0.2318269]], shape=(1, 3), dtype=float32)