📅  最后修改于: 2023-12-03 15:34:03.935000             🧑  作者: Mango
在PyTorch中,linalg.norm()方法用于计算矩阵或向量的范数。范数是将向量或矩阵映射成一个非负实数的函数,表示其大小或长度。在机器学习等领域,范数是一个极为重要的概念,可以用来优化模型或进行模型评估。
torch.linalg.norm(input, ord=None, dim=None, keepdim=False, out=None, dtype=None)
参数说明:
import torch
# 计算向量的L2范数
a = torch.tensor([1, 2, 3, 4.])
print(torch.linalg.norm(a, ord=2))
# 计算矩阵每列的L1范数
b = torch.tensor([[1, 2, 3], [-4, 5, 6], [-7, 8, -9]])
print(torch.linalg.norm(b, ord=1, dim=0))
# 计算每行向量的无穷范数
print(torch.linalg.norm(b, ord=float('inf'), dim=1))
输出结果如下:
5.477225303644047
tensor([12., 15., 18.])
tensor([ 3., 6., 9.])
linalg.norm()方法是PyTorch中一个非常实用的函数,可以方便地计算向量或矩阵的范数。在编写深度学习模型时,我们经常需要使用它来评估模型的性能或优化损失函数。牢记其灵活性和易用性可以显著提高实验的效率和准确性。