本文简要介绍python语言中 torch.norm
的用法。
用法:
torch.norm(input, p='fro', dim=None, keepdim=False, out=None, dtype=None)
input(Tensor) -输入张量。它的数据类型必须是浮点数或复数类型。对于复杂输入,使用每个元素的绝对值计算范数。如果输入是复数并且既没有指定
dtype
也没有指定out
,则结果的数据类型将是相应的浮点类型(例如,如果input
是 complexfloat,则为 float)。p(int,float,inf,-inf,'fro','nuc',可选的) -
规范的顺序。默认值:
'fro'
可以计算以下范数:ord
矩阵范数
向量范数
“来回”
弗罗贝尼乌斯范数
-
‘nuc’
核规范
-
Number
-
总和(abs(x)**ord)**(1./ord)
向量范数可以跨任意维数计算。
input
对应的维度被展平为一维,在展平的维度上计算范数。Frobenius norm 在所有情况下都产生与
p=2
相同的结果,除非dim
是三个或更多暗淡的列表,在这种情况下,Frobenius norm 会引发错误。核范数只能在两个维度上精确计算。
dim(int,python的元组:ints,python:ints 列表,可选的) -指定
input
的哪个或多个维度来计算范数。如果dim
是None
,则将在input
的所有维度上计算范数。如果p
指示的范数类型不支持指定的维数,则会出现错误。keepdim(bool,可选的) -输出张量是否保留
dim
。如果dim
=None
且out
=None
则忽略。默认值:False
out(Tensor,可选的) -输出张量。如果
dim
=None
和out
=None
则忽略。dtype(
torch.dtype
, 可选的) -返回张量的所需数据类型。如果指定,则在执行操作时输入张量将转换为dtype
。默认值:无。
返回给定张量的矩阵范数或向量范数。
警告
torch.norm 已弃用,可能会在未来的 PyTorch 版本中删除。它的文档和行为可能不正确,并且不再积极维护。
在计算向量范数时使用
torch.linalg.norm()
或torch.linalg.vector_norm()
,在计算矩阵范数时使用torch.linalg.matrix_norm()
。但是请注意,这些函数的签名与 torch.norm 的签名略有不同。注意
尽管
p='fro'
支持任意数量的维度,但 Frobenius 范数的真正数学定义仅适用于恰好具有二维的张量。torch.linalg.norm()
和ord='fro'
与数学定义一致,因为它只能应用于两个维度。例子:
>>> 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))
参数:
相关用法
- Python PyTorch normal_用法及代码示例
- Python PyTorch normal用法及代码示例
- Python PyTorch no_grad用法及代码示例
- Python PyTorch noop_hook用法及代码示例
- Python PyTorch nonzero用法及代码示例
- Python PyTorch nanquantile用法及代码示例
- Python PyTorch nll_loss用法及代码示例
- Python PyTorch narrow用法及代码示例
- Python PyTorch ngrams_iterator用法及代码示例
- Python PyTorch nansum用法及代码示例
- Python PyTorch numericalize_tokens_from_iterator用法及代码示例
- Python PyTorch neg用法及代码示例
- Python PyTorch nanmedian用法及代码示例
- Python PyTorch ndtri用法及代码示例
- Python PyTorch ne用法及代码示例
- Python PyTorch nextafter用法及代码示例
- Python PyTorch numel用法及代码示例
- Python PyTorch nanmean用法及代码示例
- Python PyTorch ndtr用法及代码示例
- Python PyTorch nan_to_num用法及代码示例
- Python PyTorch frexp用法及代码示例
- Python PyTorch jvp用法及代码示例
- Python PyTorch cholesky用法及代码示例
- Python PyTorch vdot用法及代码示例
- Python PyTorch ELU用法及代码示例
注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torch.norm。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。