tf.linalg.normalize
Stay organized with collections
Save and categorize content based on your preferences.
Normalizes tensor
along dimension axis
using specified norm.
tf.linalg.normalize(
tensor, ord='euclidean', axis=None, name=None
)
This uses tf.linalg.norm
to compute the norm along axis
.
This function can compute several different vector norms (the 1-norm, the
Euclidean or 2-norm, the inf-norm, and in general the p-norm for p > 0) and
matrix norms (Frobenius, 1-norm, 2-norm and inf-norm).
Args |
tensor
|
Tensor of types float32 , float64 , complex64 , complex128
|
ord
|
Order of the norm. Supported values are 'fro' , 'euclidean' , 1 ,
2 , np.inf and any positive real number yielding the corresponding
p-norm. Default is 'euclidean' which is equivalent to Frobenius norm if
tensor is a matrix and equivalent to 2-norm for vectors.
Some restrictions apply: a) The Frobenius norm 'fro' is not defined for
vectors, b) If axis is a 2-tuple (matrix norm), only 'euclidean' ,
'fro' , 1 , 2 , np.inf are supported. See the description of axis
on how to compute norms for a batch of vectors or matrices stored in a
tensor.
|
axis
|
If axis is None (the default), the input is considered a vector
and a single vector norm is computed over the entire set of values in the
tensor, i.e. norm(tensor, ord=ord) is equivalent to
norm(reshape(tensor, [-1]), ord=ord) . If axis is a Python integer, the
input is considered a batch of vectors, and axis determines the axis in
tensor over which to compute vector norms. If axis is a 2-tuple of
Python integers it is considered a batch of matrices and axis determines
the axes in tensor over which to compute a matrix norm.
Negative indices are supported. Example: If you are passing a tensor that
can be either a matrix or a batch of matrices at runtime, pass
axis=[-2,-1] instead of axis=None to make sure that matrix norms are
computed.
|
name
|
The name of the op.
|
Returns |
normalized
|
A normalized Tensor with the same shape as tensor .
|
norm
|
The computed norms with the same shape and dtype tensor but the
final axis is 1 instead. Same as running
tf.cast(tf.linalg.norm(tensor, ord, axis keepdims=True), tensor.dtype) .
|
Raises |
ValueError
|
If ord or axis is invalid.
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.
Last updated 2024-04-26 UTC.
[null,null,["Last updated 2024-04-26 UTC."],[],[],null,["# tf.linalg.normalize\n\n\u003cbr /\u003e\n\n|---------------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.16.1/tensorflow/python/ops/nn_impl.py#L487-L537) |\n\nNormalizes `tensor` along dimension `axis` using specified norm.\n\n#### View aliases\n\n\n**Compat aliases for migration**\n\nSee\n[Migration guide](https://www.tensorflow.org/guide/migrate) for\nmore details.\n\n[`tf.compat.v1.linalg.normalize`](https://www.tensorflow.org/api_docs/python/tf/linalg/normalize)\n\n\u003cbr /\u003e\n\n tf.linalg.normalize(\n tensor, ord='euclidean', axis=None, name=None\n )\n\nThis uses [`tf.linalg.norm`](../../tf/norm) to compute the norm along `axis`.\n\nThis function can compute several different vector norms (the 1-norm, the\nEuclidean or 2-norm, the inf-norm, and in general the p-norm for p \\\u003e 0) and\nmatrix norms (Frobenius, 1-norm, 2-norm and inf-norm).\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `tensor` | `Tensor` of types `float32`, `float64`, `complex64`, `complex128` |\n| `ord` | Order of the norm. Supported values are `'fro'`, `'euclidean'`, `1`, `2`, `np.inf` and any positive real number yielding the corresponding p-norm. Default is `'euclidean'` which is equivalent to Frobenius norm if `tensor` is a matrix and equivalent to 2-norm for vectors. Some restrictions apply: a) The Frobenius norm `'fro'` is not defined for vectors, b) If axis is a 2-tuple (matrix norm), only `'euclidean'`, '`fro'`, `1`, `2`, `np.inf` are supported. See the description of `axis` on how to compute norms for a batch of vectors or matrices stored in a tensor. |\n| `axis` | If `axis` is `None` (the default), the input is considered a vector and a single vector norm is computed over the entire set of values in the tensor, i.e. `norm(tensor, ord=ord)` is equivalent to `norm(reshape(tensor, [-1]), ord=ord)`. If `axis` is a Python integer, the input is considered a batch of vectors, and `axis` determines the axis in `tensor` over which to compute vector norms. If `axis` is a 2-tuple of Python integers it is considered a batch of matrices and `axis` determines the axes in `tensor` over which to compute a matrix norm. Negative indices are supported. Example: If you are passing a tensor that can be either a matrix or a batch of matrices at runtime, pass `axis=[-2,-1]` instead of `axis=None` to make sure that matrix norms are computed. |\n| `name` | The name of the op. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ------- ||\n|--------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `normalized` | A normalized `Tensor` with the same shape as `tensor`. |\n| `norm` | The computed norms with the same shape and dtype `tensor` but the final axis is 1 instead. Same as running `tf.cast(tf.linalg.norm(tensor, ord, axis keepdims=True), tensor.dtype)`. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Raises ------ ||\n|--------------|--------------------------------|\n| `ValueError` | If `ord` or `axis` is invalid. |\n\n\u003cbr /\u003e"]]