关于torch.norm函数的笔记


先看一下它的参数:

norm(p='fro', dim=None, keepdim=False, dtype=None)
  • p: the order of norm. 一般来说指定 $p = 1, 2$ 等值表示 $(\sum_{i} \left | x_i \right |^{p})^{(1/p)}$,更详细的描述可以参考:

  • dim: 缩减的维度,dim=0 是对 0 维度上的一个向量求范数,返回结果数量等于其列的个数,也就是说有多少个0维度的向量, 将得到多少个范数。dim=1同理。
  • keepdim: 保持输出的维度。当 keepdim=False 时,输出比输入少一个维度(就是 dim 所指定的那一个被缩减的维度)。
  • dtype: 用以指定结果 tensor 的数据类型。

参考以下示例代码:

x = torch.tensor([[-1.0, 2.0, 3.0], [3.5, -4.0, 1.0]])
print(x, x.dtype) a = x.norm(1, dim=0, dtype=torch.float64) print(a, a.dtype) b = x.norm(1, dim=1) print(b, b.dtype) c = x.norm(2, dim=1) print(c, c.dtype)

结果:

tensor([[-1.0000,  2.0000,  3.0000],
        [ 3.5000, -4.0000,  1.0000]]) torch.float32 tensor([4.5000, 6.0000, 4.0000], dtype=torch.float64) torch.float64 tensor([6.0000, 8.5000]) torch.float32 tensor([3.7417, 5.4083]) torch.float32

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM