tf.linalg.normalize
| Просмотреть исходный код на GitHub |
Нормализует tensor вдоль указанного измерения axis с использованием заданной нормы.
tf.linalg.normalize(
tensor, ord='euclidean', axis=None, name=None
)
Для вычисления нормы вдоль axis используется tf.linalg.norm.
Эта функция может вычислять различные нормы векторов (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) если ось является 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, чтобы убедиться, что вычисляются нормы матриц. |
name | Название операции. |
| Возвращаемые значения | |
|---|---|
normalized | Нормализованный Tensor с той же формой, что и tensor. |
norm | Вычисленные нормы с той же формой и типом tensor, но последняя ось равна 1. То же самое, что и при выполнении tf.cast(tf.linalg.norm(tensor, ord, axis keepdims=True), tensor.dtype). |
| Исключения | |
|---|---|
ValueError | Если ord или axis некорректны. |
© 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/versions/r2.9/api_docs/python/tf/linalg/normalize