tf.norm
Вычисляет норму векторов, матриц и тензоров.
tf.norm(
tensor, ord='euclidean', axis=None, keepdims=None, name=None
)
Используется в блокнотах
| Используется в руководстве | Используется в учебных материалах |
|---|---|
Эта функция позволяет вычислять несколько различных норм векторов (1-норму, евклидову норму, или 2-норму, бесконечную норму и, в общем случае, p-норму при p > 0), а также нормы матриц (норму Фробениуса, 1-норму, 2-норму и бесконечную норму).
| Аргументы | |
|---|---|
tensor | Tensor типа float32, float64, complex64, complex128 |
ord | Порядок нормы. Поддерживаются значения 'fro', 'euclidean', 1, 2, np.inf, а также любое положительное вещественное число, задающее соответствующую p-норму. По умолчанию используется 'euclidean', что эквивалентно норме Фробениуса, если tensor является матрицей, и 2-норме для векторов. Действуют некоторые ограничения: a) норма Фробениуса 'fro' не определена для векторов; b) если axis — это кортеж из двух элементов (норма матрицы), поддерживаются только 'euclidean', 'fro', 1, 2, np.inf. О том, как вычислять нормы для пакета векторов или матриц, хранящихся в тензоре, см. описание axis. |
axis | Если axis имеет значение None (по умолчанию), входные данные считаются вектором, и для всего набора значений в тензоре вычисляется одна норма вектора, то есть norm(tensor, ord=ord) эквивалентно norm(reshape(tensor, [-1]), ord=ord). Если axis — целое число Python, входные данные считаются пакетом векторов, а axis задаёт ось в tensor, вдоль которой вычисляются нормы векторов. Если axis — кортеж из двух целых чисел Python, входные данные считаются пакетом матриц, а axis задаёт оси в tensor, вдоль которых вычисляется норма матрицы. Поддерживаются отрицательные индексы. Пример: если во время выполнения вы передаёте тензор, который может быть как матрицей, так и пакетом матриц, передайте axis=[-2,-1] вместо axis=None, чтобы гарантировать вычисление норм матриц. |
keepdims | Если значение True, указанная в axis ось сохраняется с размером 1. В противном случае измерения, заданные в axis, удаляются из формы выходных данных. |
name | Имя операции. |
| Возвращает | |
|---|---|
output | Tensor того же типа, что и tensor, содержащий нормы векторов или матриц. Если keepdims имеет значение True, ранг выходных данных равен рангу tensor. В противном случае, если axis равно none, результатом будет скаляр; если axis — целое число, ранг output на единицу меньше ранга tensor; если axis — кортеж из двух элементов, ранг output на два меньше ранга tensor. |
| Исключения | |
|---|---|
ValueError | Если ord или axis недопустимо. |
Совместимость с numpy
В основном эквивалентна numpy.linalg.norm. Не поддерживаются: ord <= 0, 2-норма для матриц, ядерная норма. Другие отличия: a) Если axis имеет значение None, развёрнутый tensor рассматривается как вектор независимо от ранга. b) Евклидова норма явно поддерживается в качестве значения по умолчанию, в том числе для тензоров более высокого порядка.
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/norm