目录

  • 1 引言
  • 2 torch.mul(a, b)
  • 3 torch.mm(a, b)
  • 4 torch.matmul()
  • 5 torch.spmm()
  • 参考文献

1 引言

  做深度学习过程中免不了使用pytorch,刚上手可能觉得pytorch是一门新语言。过一段时间之后发现其用法跟python极其相似,python的很多函数名都可以用到torch中。当然也有一些不同,毕竟张量的计算可以用GPU啊。

2 torch.mul(a, b)

  torch.mul(a, b) 是矩阵 a a a 和 b b b 对应位相乘, a a a 和 b b b 的维度必须相等,比如 a a a的维度是 ( 1 , 2 ) (1, 2) (1,2), b b b 的维度是 ( 1 , 2 ) (1, 2) (1,2),返回的仍是 ( 1 , 2 ) (1, 2) (1,2)的矩阵,和 a ∗ b a*b a∗b 效果相同。其实这个矩阵或者向量的乘法操作就是 H a d a m a r d Hadamard Hadamard 乘积哈达玛乘积,具体操作细节查看如下。这个操作跟乘以b一样

import torcha = torch.tensor([[1,1],[2,2]])b = torch.tensor([[1,1],[0,2]])result2 = torch.mul(a,b)  # 对应位相乘
result2: tensor([[1, 1],[0, 4]])result3 = a * b  # 对应位相乘
result3: tensor([[1, 1],[0, 4]])

3 torch.mm(a, b)

  torch.mm(a, b) 是矩阵a和b矩阵相乘,比如a的维度是(1, 2),b的维度是(2, 3),返回的就是(1, 3)的矩阵。这个操作很熟悉了,这就是很常用的矩阵运算
  下面看几行代码

import torcha = torch.tensor([[1,1],[2,2]])b = torch.tensor([[1,1],[0,2]])result1 = torch.mm(a,b)  # 矩阵相乘
result1: tensor([[1, 3],[2, 6]])

4 torch.matmul()

  torch.matmul()的用法比torch.mm更高级,torch.mm只适用于二维矩阵,而torch.matmul可以适用于高维。当然,对于二维的效果等同于torch.mm()。关于torch.matmul的详细介绍可以看torch.matmul()用法介绍。

5 torch.spmm()

参考文献

[1]torch.matmul()用法介绍
[2]pytorch:torch.mm()和torch.matmul()

【Pytorch学习】torch.mm()torch.matmul()和torch.mul()以及torch.spmm()相关推荐

  1. Pytorch教程之torch.mm、torch.bmm、torch.matmul、masked_fill

    文章目录 1.简介 2.torch.mm 3.torch.bmm 4.torch.matmul 5.masked_fill 1.简介 这几天正在看NLP中的注意力机制,代码中涉及到了一些关于张量矩阵乘 ...

  2. Pytorch矩阵乘法之torch.mul() 、 torch.mm() 及torch.matmul()的区别

    torch.mul() . torch.mm() 及torch.matmul()的区别 一.简介 torch.mul(a, b) 是矩阵a和b对应位相乘,a和b的维度必须相等,比如a的维度是(1, 2 ...

  3. 【pytorch】torch.mm,torch.bmm以及torch.matmul的使用

    torch.mm torch.mm是两个矩阵相乘,即两个二维的张量相乘 如下面的例子 mat1 = torch.randn(2,3) print("mat1=", mat1)mat ...

  4. pytorch中torch.mul、torch.mm/torch.bmm、torch.matmul的区别

    预备知识:矩阵的各种乘积 三者对比 torch.mul: 两个输入按元素相乘,内积 分两种情况,默认其中一个是tensor 另一个也是tensor,那么两者就要符合broadcasedt的规则 另一个 ...

  5. 2021.08.25学习内容torch.clamp(input, min, max, out=None) → Tensor,torch.mm(matrix multiply)

    学习pytorch时,看到了mm和clamp,不甚理解,其他地方也看到过,所以具体了解一下 前向传递:计算预测yh = x.mm(w1)h_relu = h.clamp(min=0) 把 h 张量的最 ...

  6. PyTorch 笔记(09)— Tensor 线性代数计算(torch.trace、torch.diag、torch.mm、torch.dot、torch.inverse逆矩阵、转置)

    1. 常用函数 常用线性表函数如下表所示: 2. 使用示例 2.1 torch.trace In [22]: import torch as tIn [23]: a = t.arange(1, 10) ...

  7. Pytorch学习-torch.max()和min()深度解析

    Pytorch学习-torch.max和min深度解析 max的使用 min同理 dim参数理解 二维张量使用max() 三维张量使用max() max的使用 min同理 参考链接: 参考链接: 对于 ...

  8. torch中的几种乘法。torch.mm, torch.mul, torch.matmul

    一.点乘 点乘都是broadcast的,可以用torch.mul(a, b)实现,也可以直接用*实现. a = torch.ones(3,4) a tensor([[1., 1., 1., 1.], ...

  9. torch中的乘法符号(*),torch.mm()和torch.matmul(),torch.mul(), torch.bmm()

    前言 torch中常见的一些矩阵乘法和元素乘积,说白了无非就是以下四种,为了避免忘了,做个笔记 乘法符号 * torch.mul() torch.mm torch.matmul torch.dot 1 ...

最新文章

  1. C++中引用()的用法和举例说明
  2. 千万不要一辈子靠技术生存
  3. OS X 使用技巧——不用鼠标就能打开应用程序
  4. 圣诞日记2010-12-25:认清形势,看清方向,正确选择,努力拼搏(更新 )
  5. 聚类算法(3):DBSCAN密度聚类
  6. Android仿微信聊天语言点击喇叭动画效果
  7. SpringBoot+Mybatis+Druid批量更新 multi-statement not allow异常
  8. AR的那些有用的工具
  9. 一张浓缩大学生活的顶级报(转载)
  10. 蜜罐合约-老版本solidity引用类型的一个坑
  11. Python内存优化,节省内存字典ConstDict
  12. 视频回放 | Open Rack V3 - 新一代机架和电源
  13. 代码封装的思想,竟然在中国古代就已经存在了
  14. 一个电商数据分析师的经验总结
  15. php源码中powerby,小龙源码网 - discuz论坛怎么去掉power by discuz版权
  16. php获取小米手环数据,小米运动App数据提取
  17. ZLMediaKit启用webrtc编译
  18. Linux教程【一】
  19. iPhone 全系尺寸大全
  20. 全球手机处理器架构进化论:从ARM9到A15

热门文章

  1. FBI阅人术——用最短的时间了解一个人
  2. 使用python在pycharm中制作二维码
  3. 一入职就遇上Mysql亿级优化,方案都改了5遍
  4. matlab读取JPG文件属性中的GPS信息并生成POS文件
  5. 2021最新Java面试笔试题目分享
  6. C语言:数组奇偶排序,奇数从小到大,偶数从大到小;输出
  7. zemax场曲畸变图_《ZEMAX光学设计超级学习手册》一一2.4 像分析
  8. go每日新闻--2020-12-23
  9. 编译静态文件系统测试工具【FIO】并在QEMU中运行
  10. linux怎么把英文版火狐浏览器改成中文