Функция clip_by_value
Функция clip_by_value применяется к тензору и
ограничивает его значения заданным диапазоном.
Первым параметром функция принимает исходный тензор.
Вторым параметром передается минимально допустимое значение
clip_value_min, третьим - максимально допустимое
значение clip_value_max. Все элементы, которые
меньше минимума, заменяются на минимум. Все элементы,
которые больше максимума, заменяются на максимум.
Элементы, попадающие в диапазон, остаются без изменений.
Синтаксис
tf.clip_by_value(t, clip_value_min, clip_value_max, [name])
Пример
Давайте создадим тензор из чисел и ограничим
его значения диапазоном от 2 до 4:
import tensorflow as tf
t = tf.constant([1, 2, 3, 4, 5])
res = tf.clip_by_value(t, 2, 4)
print(res)
Результат выполнения кода:
tf.Tensor([2 2 3 4 4], shape=(5,), dtype=int32)
Пример
Давайте применим функцию к двумерному тензору:
import tensorflow as tf
t = tf.constant([[1, 2, 3], [4, 5, 6]])
res = tf.clip_by_value(t, 3, 5)
print(res)
Результат выполнения кода:
tf.Tensor(
[[3 3 3]
[4 5 5]], shape=(2, 3), dtype=int32)
Пример
Давайте ограничим значения тензора с типом
float32 диапазоном от 0.0 до 1.0:
import tensorflow as tf
t = tf.constant([-1.5, 0.5, 2.5], dtype=tf.float32)
res = tf.clip_by_value(t, 0.0, 1.0)
print(res)
Результат выполнения кода:
tf.Tensor([0. 0.5 1. ], shape=(3,), dtype=float32)
Смотрите также
-
функцию
minimum,
которая возвращает минимальное значение из двух тензоров -
функцию
maximum,
которая возвращает максимальное значение из двух тензоров -
функцию
clip_by_norm,
которая ограничивает тензор по норме -
функцию
clip_by_global_norm,
которая ограничивает несколько тензоров по глобальной норме