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

Pytorch中矩阵乘法使用及案例

六种矩阵乘法

torch中包含许多矩阵乘法,大致可以分为以下几种:

  • *:即a * b 按位相乘,要求ab的形状必须一致,支持广播操作

  • torch.matmul():最广泛的矩阵乘法

  • @:与torch.matmul()效果一样(等价),即torch.matmul(a, b) == a @ b

  • torch.dot():两个一维向量乘法,不支持广播

  • torch.mm():两个二维矩阵的乘法,不支持广播

  • torch.bmm():两个三维矩阵乘法(批次batch粒度),且两个矩阵必须是三维的,不支持广播操作

其中,torch.matmul()中包含torch.dot()torch.mm()torch.bmm()

代码验证

torch.dot()

a = torch.tensor([2, 3])
b = torch.tensor([2, 1])

## 下面四个函数的结果是一样的  结果都是7
a.dot(b)
torch.dot(a, b)
a @ b
torch.matmul(a, b)

输出结果:
在这里插入图片描述

torch.matmul()torch.dot()的主要区别就是,当两个向量(矩阵)的维度不一致时,torch.matmul()会进行广播,而torch.dot()会报错

*

对向量ab进行按位相乘

a = torch.tensor([2, 3])
b = torch.tensor([2, 1])

a * b  # [4, 3]

torch.mm()

用于二维矩阵的相乘——第一个向量的和第二个向量的必须相等

mat1 = torch.randn(2, 3)
mat2 = torch.randn(3, 3)

## 下面三个输出结果是一样的
torch.mm(mat1, mat2)
mat1.matmul(mat2)
mat1 @ mat2

输出结果:
在这里插入图片描述

torch.matmul()torch.mm()的主要区别就是,当两个矩阵的维度不一致时,torch.matmul()会进行广播,而torch.mm()会报错

torch.bmm()

应用于三维矩阵,要求:

  • 两个矩阵的第一个维度的大小必须相同
  • 必须满足第一个矩阵:(b × n × m),第二个矩阵:(b × m × p),即第一个矩阵的第三个维度必须和第二个矩阵的第二个维度相同
  • 输出大小:(b × n × p)

该函数相当于分别对每个batch进行二维矩阵相乘

bmat1 = torch.randn(2, 1, 4)
bmat2 = torch.randn(2, 4, 2)

## 下面三个输出是一样的
torch.bmm(bmat1, bmat2)
bmat1.matmul(bmat2)
bmat1 @ bmat2

输出结果:
在这里插入图片描述

换一种角度想,torch.bmm()就是相当于按照批次batch进行索引,然后将每个批次内的二维矩阵进行相乘

for i in range(bmat1.shape[0]):  # 索引出来批次bmat1.shape[0]
    temp =torch.mm(bmat1[i, :, :], bmat2[i, :, :])
    print(temp)

在这里插入图片描述

相关文章:

  • 【21】单片机编程核心技巧:if语句逻辑与真假判断
  • HCIA-12.ACL原理与配置
  • 分治算法区
  • Linux云计算SRE-第二十周
  • ARTKIT 开源程序是由 BCG X 开发的 Python 框架,用于自动对 Gen AI 应用程序进行基于提示的测试和评估。
  • 聊一聊binder传递文件fd原理及新版本性能优化
  • 【QT】事件系统入门——QEvent 基础与示例
  • NandFlash 坏块检测工具记录
  • 高频面试题(含笔试高频算法整理)基本总结回顾41
  • 字符最大间隔排列
  • C++程序员职业规划
  • MySQL与Redis的缓存一致性问题
  • python-leetcode-删除链表的倒数第 N 个结点
  • 批量将 Excel 文档中的图片提取到文件夹
  • MySQL -- 数据类型
  • Java 枚举
  • SpringBoot自动装配的工作原理
  • python-docx - 读写更新 .docx 文件(Microsoft Word 2007+ )
  • Django系列教程(7)——路由配置URLConf
  • SpringBoot 入门基础
  • 国家医保局副局长颜清辉调任人社部副部长
  • “五一”逃离城市计划:带上帐篷去大自然里充电
  • 上海国际咖啡文化节开幕,北外滩集结了超350个展位
  • 胸外科专家查出肺多发结节,说了一个可怕的事实……
  • 五一小长假,带着小狗去上海音乐厅
  • 解放日报社论:只争朝夕、不负重托,加快建成具有全球影响力的科技创新高地