Функция nn.silu
Функция nn.silu применяет к данным
активационную функцию SiLU (Sigmoid Linear
Unit). Эта функция также известна как swish
и вычисляется по формуле ⁅m⁆x * sigmoid(x)⁅/m⁆.
Первым параметром функция принимает входной
тензор. Вторым необязательным параметром
можно передать имя операции.
Синтаксис
tf.nn.silu(features, [name])
Пример
Давайте применим активацию SiLU к тензору
из чисел 1, 2, 3, 4, 5:
import tensorflow as tf
t = tf.constant([1, 2, 3, 4, 5], dtype=tf.float32)
res = tf.nn.silu(t)
print(res)
Результат выполнения кода:
tf.Tensor([0.7310586 1.7615942 2.8577223 3.928055 4.9665356], shape=(5,), dtype=float32)
Пример
Давайте применим активацию SiLU к двумерному тензору:
import tensorflow as tf
t = tf.constant([[1, 2, 3], [4, 5, 6]], dtype=tf.float32)
res = tf.nn.silu(t)
print(res)
Результат выполнения кода:
tf.Tensor(
[[0.7310586 1.7615942 2.8577223]
[3.928055 4.9665356 5.985164 ]], shape=(2, 3), dtype=float32)
Пример
Давайте применим активацию SiLU к тензору с отрицательными значениями:
import tensorflow as tf
t = tf.constant([-2, -1, 0, 1, 2], dtype=tf.float32)
res = tf.nn.silu(t)
print(res)
Результат выполнения кода:
tf.Tensor([-0.23840584 -0.26894143 0. 0.7310586 1.7615942 ], shape=(5,), dtype=float32)
Смотрите также
-
функцию
relu,
которая применяет активацию ReLU -
функцию
leaky_relu,
которая применяет активацию Leaky ReLU -
функцию
sigmoid,
которая применяет сигмоидную активацию -
функцию
swish,
которая применяет активацию Swish