tf.norm
| Просмотреть исходный код на GitHub |
Вычисляет норму векторов, матриц и тензоров. (устаревшие аргументы)
tf.norm(
tensor, ord='euclidean', axis=None, keepdims=None, name=None, keep_dims=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-норме для векторов. Применяются некоторые ограничения: а) Норма Фробениуса fro не определена для векторов, б) Если axis — 2-кортеж (норма матрицы), поддерживаются только '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 — 2-кортеж целых чисел Python, он рассматривается как набор матриц, и axis определяет оси в tensor, по которым вычисляется норма матрицы. Поддерживаются отрицательные индексы. Пример: если вы передаете тензор, который может быть либо матрицей, либо набором матриц во время выполнения, передайте axis=[-2,-1] вместо axis=None, чтобы убедиться, что вычисляются нормы матриц. |
keepdims | Если True, указанные в axis оси сохраняются с размером 1. В противном случае размерности в axis удаляются из формы выходного тензора. |
name | Название операции. |
keep_dims | Устаревший псевдоним для keepdims. |
| Возвращаемые значения | |
|---|---|
output | Тензор того же типа, что и тензор, содержащий векторные или матричные нормы. Если keepdims равно True, ранг выходного тензора равен рангу tensor. В противном случае, если axis равно None, выходной тензор — скаляр; если axis — целое число, ранг output на один меньше ранга tensor; если axis — 2-кортеж, ранг output на два меньше ранга tensor. |
| Исключения | |
|---|---|
ValueError | Если ord или axis некорректны. |
Совместимость с Numpy
В основном эквивалентно numpy.linalg.norm. Не поддерживается: ord <= 0, 2-норма для матриц, ядерная норма. Другие различия: а) Если axis — None, обрабатывает уплощенную tensor как вектор независимо от ранга. б) Явно поддерживает норму 'euclidean' по умолчанию, включая для тензоров более высоких порядков.
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/norm