Функция linalg.norm
Функция linalg.norm вычисляет норму тензора.
Первым параметром функция принимает тензор или массив.
Вторым параметром можно передать порядок нормы ord.
Третьим параметром задаются оси axis, по которым
вычисляется норма. Четвертым параметром keepdims
можно сохранить уменьшенные размерности.
Синтаксис
tf.linalg.norm(tensor, [ord], [axis], [keepdims])
Пример
Давайте вычислим евклидову норму вектора:
import tensorflow as tf
t = tf.constant([1, 2, 3, 4, 5])
res = tf.linalg.norm(t)
print(res)
Результат выполнения кода:
tf.Tensor(7.4161983, shape=(), dtype=float32)
Пример
Давайте вычислим норму Фробениуса для двумерного тензора:
import tensorflow as tf
t = tf.constant([[1, 2, 3], [4, 5, 6]])
res = tf.linalg.norm(t, ord='fro')
print(res)
Результат выполнения кода:
tf.Tensor(9.539392, shape=(), dtype=float32)
Пример
Давайте вычислим норму по указанной оси с сохранением размерности:
import tensorflow as tf
t = tf.constant([[1, 2, 3], [4, 5, 6]])
res = tf.linalg.norm(t, axis=1, keepdims=True)
print(res)
Результат выполнения кода:
tf.Tensor(
[[3.7416575]
[8.774964 ]], shape=(2, 1), dtype=float32)