简介::Pytorch基础 - 张量的范数
:Pytorch基础 - 张量的范数
在PyTorch中,张量是一种基础且重要的数据结构,用于表示和操作多维数组。张量的范数(Norm)是衡量张量规模或其元素的分布形态的重要指标,对于理解张量的性质和进行机器学习任务有着至关重要的作用。
一、张量的范数定义
在PyTorch中,张量的范数可以通过torch.norm(input, p)函数来计算,其中input是输入的张量,p是范数的类型。不同类型的p值会计算出不同类型的范数。例如:
p=2时,计算的是欧几里得范数(Euclidean norm),也就是通常所说的L2范数。这实际上是所有元素平方和的平方根。p=1时,计算的是曼哈顿范数(Manhattan norm),也称为L1范数。这是所有元素绝对值的总和。p=0.5时,计算的是弗罗贝尼乌斯范数(Frobenius norm),它是矩阵的行和列的L2范数的平方根之和。torch.norm(input, p)函数来计算张量的范数。以下是一个例子:
import torch# 创建一个张量tensor = torch.tensor([[1, 2], [3, 4]])# 计算欧几里得范数(L2 norm)l2_norm = torch.norm(tensor, p=2)print("L2 norm: ", l2_norm)# 计算曼哈顿范数(L1 norm)l1_norm = torch.norm(tensor, p=1)print("L1 norm: ", l1_norm)