当前位置: 首页 > news >正文

pytorch torch.norm函数介绍

torch.norm 函数用于计算张量的范数(norm),可以理解为张量的“长度”或“大小”。根据范数的不同类型,它可以衡量不同的张量性质。该函数可以计算 向量 和 矩阵 的多种范数,如 L1范数L2范数无穷范数 等。

1. 函数签名

torch.norm(input, p='fro', dim=None, keepdim=False, dtype=None, out=None)
  • input: 需要计算范数的输入张量。

  • p: 范数的类型,常用值包括:

    • 'fro' (默认值):Frobenius 范数(矩阵的元素平方和开平方,类似于 L2 范数)。
    • p=1:L1 范数,元素的绝对值和。
    • p=2:L2 范数,元素的平方和的平方根(也称为欧几里得范数)。
    • p=float('inf'):无穷范数,张量元素的最大绝对值。
    • 其他 p 值可以表示不同的 p-范数(如 p=3 表示元素的三次方和的开三次方根)。
  • dim: 计算范数的维度。如果不指定维度,默认计算整个张量的范数。可以指定一个或多个维度。

  • keepdim: 是否保持计算后的张量的维度。

  • dtype: 可选,指定输出张量的数据类型。

  • out: 可选,用于存储输出的张量。

2. 范数类型的解释

3. 示例

计算向量的 L2 范数
import torcha = torch.tensor([3.0, 4.0])# 计算 L2 范数 (默认 p=2)
l2_norm = torch.norm(a)
print(f"L2 范数: {l2_norm.item()}")
计算 L1 范数
# 计算 L1 范数
l1_norm = torch.norm(a, p=1)
print(f"L1 范数: {l1_norm.item()}")
计算无穷范数
# 计算无穷范数
inf_norm = torch.norm(a, p=float('inf'))
print(f"无穷范数: {inf_norm.item()}")
计算矩阵的 Frobenius 范数
b = torch.tensor([[1.0, 2.0], [3.0, 4.0]])# 计算 Frobenius 范数
fro_norm = torch.norm(b, p='fro')
print(f"Frobenius 范数: {fro_norm.item()}")
指定维度计算范数
# 计算矩阵每一行的 L2 范数
row_norms = torch.norm(b, p=2, dim=1)
print(f"每行的 L2 范数: {row_norms}")

4. 应用场景

  • L1 范数:用于稀疏性约束或正则化(Lasso 回归等)。
  • L2 范数:广泛用于优化问题、深度学习中的权重正则化、距离测量等。
  • 无穷范数:用于估计最大值(如误差上界的评估)。
  • Frobenius 范数:通常用于矩阵运算中,衡量矩阵的整体大小。

通过 torch.norm 函数,可以灵活选择不同的范数类型和维度,满足各种计算需求。

http://www.lryc.cn/news/434811.html

相关文章:

  • 【lc_hot100】刷题心得
  • FANUC 数控 A06B-6058-H227 伺服放大器
  • Python将表格文件中某些列的数据整体向上移动一行
  • 基于YOLOv8的PCB缺陷检测算法,加入一种基于内容引导注意力(CGA)的混合融合方案(一)
  • 如何在红米手机中恢复已删除的照片?(6 种方式可供选择)
  • 嵌入式实时操作系统(RTOS):原理、应用与发展
  • C#里使用位图容器BitArray
  • 如何在 Kali Linux 上安装 pip3
  • 5.2 排列与代数余子式
  • java框架第五课(终极版本)SpringBoot
  • 聚类案例——汽车是否值得购买
  • 网络编程9.10
  • 如何在SQL Server中恢复多个数据库?
  • 炸裂!新版 SD WebUI Forge 出图速度更快!支持最新Flux 模型!(保姆级安装教程)
  • laserOdometry.cpp源码注释
  • STM32时钟配置图详解
  • Vscode——调试时,修改变量值
  • 1. 初识LLM API:环境配置与多轮对话演示
  • 【AI编程助手】VsCode插件--通义灵码
  • 9月10号的学习
  • QtC++截图支持窗口获取
  • 料品档案没有配置主供应商信息
  • springboot属性加载优先级和常见命令行属性
  • Math Reference Notes: 因式定理
  • Kubernetes------Service
  • C#的LINQ语句
  • 项目实战系列三: 家居购项目 第三部分
  • 【WPF】Border的使用
  • 机器学习(西瓜书)第 4 章 决策树
  • 8、值、指针、引用作为参数或返回值