现在位置: 首页 > PyTorch 教程 > 正文

PyTorch torch.linalg.norm 函数


Pytorch torch 参考手册 Pytorch torch 参考手册

torch.linalg.norm 是 PyTorch 线性代数模块中用于计算矩阵或向量范数的函数。它支持多种范数类型,如 L1、L2、Frobenius 范数等。

函数定义

torch.linalg.norm(A, ord=None, dim=None, keepdim=False, out=None, dtype=None)

参数:

  • A (Tensor): 输入张量。
  • ord (int, float, inf, -inf, 可选): 范数类型。默认为 'fro'。
  • dim (int, tuple, 可选): 计算范数的维度。
  • keepdim (bool, 可选): 是否保持维度。默认为 False。
  • dtype (torch.dtype, 可选): 输出数据类型。

返回值:

  • torch.Tensor: 返回范数值。

使用示例

实例 - Frobenius 范数

import torch

# 创建矩阵
A = torch.tensor([[1.0, 2.0], [3.0, 4.0]])

# Frobenius 范数
norm_fro = torch.linalg.norm(A)

print("矩阵 A:")
print(A)
print("Frobenius 范数:", norm_fro)

输出结果为:

矩阵 A:
tensor([[1., 2.],
        [3., 4.]])
Frobenius 范数: tensor(5.4772)

实例 - 向量 L2 范数

import torch

# 创建向量
v = torch.tensor([3.0, 4.0])

# L2 范数 (默认)
norm_l2 = torch.linalg.norm(v)

# L1 范数
norm_l1 = torch.linalg.norm(v, ord=1)

print("向量 v:", v)
print("L2 范数:", norm_l2)
print("L1 范数:", norm_l1)

Pytorch torch 参考手册 Pytorch torch 参考手册