设置网站404,做网站服务器在哪买,温州创荣网络科技有限公司,wordpress 汉语字体torch.linalg.norm 是 PyTorch 中用于计算张量范数#xff08;Norm#xff09;的函数。范数是线性代数中的一个重要概念#xff0c;用于量化向量或矩阵的大小或长度。这个函数可以处理任意形状的张量#xff0c;支持多种类型的范数计算。
1.函数签名
torch.linalg.norm(…torch.linalg.norm 是 PyTorch 中用于计算张量范数Norm的函数。范数是线性代数中的一个重要概念用于量化向量或矩阵的大小或长度。这个函数可以处理任意形状的张量支持多种类型的范数计算。
1.函数签名
torch.linalg.norm(input, ordNone, dimNone, keepdimFalse, dtypeNone) - Tensor参数说明 input: 要计算范数的张量。 ord (可选): 范数的类型决定范数的计算公式。常见值 None默认计算 Frobenius 范数矩阵或 2 范数向量。1: 1 范数列绝对值之和或向量绝对值之和。2: 2 范数Euclidean 范数平方和的平方根。fro: Frobenius 范数矩阵的元素平方和开方。inf: 无穷范数矩阵的行绝对值和最大值。-inf: 负无穷范数矩阵的行绝对值和最小值。 dim (可选): 指定计算范数的维度。 若为 None计算整个张量的范数。若指定为单个或多个维度则按维度计算范数。 keepdim (布尔可选): 如果为 True结果会保留被归约的维度维度的大小为 1。 dtype (可选): 指定计算中使用的数据类型常用于提高数值精度。
返回值
返回计算出的张量范数。结果是一个标量或一个张量取决于是否指定 dim 参数。
常见用法示例
(1) 计算向量的 2 范数
计算向量的欧几里得长度平方和的平方根。
import torchx torch.tensor([3.0, 4.0])
norm torch.linalg.norm(x)
print(norm) # 输出: 5.0 (因为 sqrt(3^2 4^2) 5)(2) 计算矩阵的 Frobenius 范数
A torch.tensor([[1.0, 2.0], [3.0, 4.0]])
norm torch.linalg.norm(A, ordfro)
print(norm) # 输出: 5.4772 (因为 sqrt(1^2 2^2 3^2 4^2) ≈ 5.4772)(3) 按维度计算范数
B torch.tensor([[1.0, 2.0], [3.0, 4.0]])
norm_dim0 torch.linalg.norm(B, ord1, dim0)
print(norm_dim0) # 输出: tensor([4., 6.]) (列绝对值之和)norm_dim1 torch.linalg.norm(B, ord1, dim1)
print(norm_dim1) # 输出: tensor([3., 7.]) (行绝对值之和)(4) 计算无穷范数
C torch.tensor([[1.0, -2.0], [3.0, -4.0]])
inf_norm torch.linalg.norm(C, ordfloat(inf))
print(inf_norm) # 输出: 7.0 (最大行绝对值和)(5) 计算负无穷范数
neg_inf_norm torch.linalg.norm(C, ordfloat(-inf))
print(neg_inf_norm) # 输出: 3.0 (最小行绝对值和)