torch.norm — PyTorch 2.7 documentation (original) (raw)

torch.norm(input, p='fro', dim=None, keepdim=False, out=None, dtype=None)[source][source]

Returns the matrix norm or vector norm of a given tensor.

Warning

torch.norm is deprecated and may be removed in a future PyTorch release. Its documentation and behavior may be incorrect, and it is no longer actively maintained.

Use torch.linalg.vector_norm() when computing vector norms andtorch.linalg.matrix_norm() when computing matrix norms. For a function with a similar behavior as this one see torch.linalg.norm(). Note, however, the signature for these functions is slightly different than the signature for torch.norm.

Parameters

Note

Even though p='fro' supports any number of dimensions, the true mathematical definition of Frobenius norm only applies to tensors with exactly two dimensions. torch.linalg.matrix_norm() with ord='fro'aligns with the mathematical definition, since it can only be applied across exactly two dimensions.

Example:

import torch a = torch.arange(9, dtype= torch.float) - 4 b = a.reshape((3, 3)) torch.norm(a) tensor(7.7460) torch.norm(b) tensor(7.7460) torch.norm(a, float('inf')) tensor(4.) torch.norm(b, float('inf')) tensor(4.) c = torch.tensor([[ 1, 2, 3], [-1, 1, 4]] , dtype=torch.float) torch.norm(c, dim=0) tensor([1.4142, 2.2361, 5.0000]) torch.norm(c, dim=1) tensor([3.7417, 4.2426]) torch.norm(c, p=1, dim=1) tensor([6., 6.]) d = torch.arange(8, dtype=torch.float).reshape(2, 2, 2) torch.norm(d, dim=(1, 2)) tensor([ 3.7417, 11.2250]) torch.norm(d[0, :, :]), torch.norm(d[1, :, :]) (tensor(3.7417), tensor(11.2250))