Pytorch 中 matmul 广播方式

一、两个 1 维,向量内积

a = torch.ones(3)
b = torch.ones(3)
print(torch.matmul(a,b))  # tensor(3.)

二、两个 2 维,矩阵相乘

a = torch.ones(3,4)
b= torch.ones(4,3)
print(torch.matmul(a,b))
# tensor([[4., 4., 4.],
#        [4., 4., 4.],
#        [4., 4., 4.]])

三、一个 1 维,二个 2 维,矩阵和向量相乘

注意:相靠近的那个维数要相同,比如(7)和(7,8,5),又比如(7,8,5)和(5)

a = torch.ones(3)
b= torch.ones(3,4)
print(torch.matmul(a,b))  # tensor([3., 3., 3., 3.])a = torch.ones(3,4)
b = torch.ones(4)
print(torch.matmul(a,b))  # tensor([4., 4., 4.])

四、高维情况

注意:两个都高于 2 维,那么除掉最后两个维度外(最后两个维度满足矩阵乘法,即(m,k)*(k,n)),剩下的满足广播机制

a=torch.ones(5,3,4,1)
b=torch.ones(  3,1,1)
print(torch.matmul(a,b))

Pytorch 中 matmul 广播相关推荐

  1. Pytorch中的广播机制

    广播机制触发:当两个数组的shape不一样时候,1)程序会自动执行操作使得A.shape==B.shape, 2)对应位置进行相加 运算结果的shape是:A.shape和B.shape对应位置的最大 ...

  2. pytorch中同维度张量matmul运算

    pytorch中同维度张量matmul运算 零维矩阵乘法 零维矩阵乘法实际上就是标量(数的)乘法. import torch M01=torch.tensor(3) M02=torch.tensor( ...

  3. PyTorch中的matmul函数详解

    PyTorch中的两个张量的乘法可以分为两种: 两个张量对应的元素相乘(element-wise),在PyTorch中可以通过torch.mul函数(或者∗*∗运算符)实现 两个张量矩阵相乘(Matr ...

  4. pytorch flatten函数_1. PyTorch中的基本数据类型——张量

    在PyTorch中,张量属于一种基本的数据类型,和Numpy库中的ndarry类似,无论是标量.向量.矩阵还是高维数组都是以张量(Tensor)这种数据类型来表示.因此,有必要对该基本数据类型有所了解 ...

  5. pytorch中的乘法操作

    pytorch中提供了多种函数用于乘法操作,不同函数,功能有什么不一样呢? torch.mul multiply是mul的别名,与mul用法一致 torch.mul(input, other, *, ...

  6. pyTorch中tensor运算

    文章目录 PyTorch的简介 PyTorch中主要的包 PyTorch的安装 使用GPU的原因 使数据在GPU上运行 什么使Tensor(张量) 一些术语介绍 Tensor的属性介绍(Rank,ax ...

  7. PyTorch中tensor介绍

          PyTorch中的张量(Tensor)如同数组和矩阵一样,是一种特殊的数据结构.在PyTorch中,神经网络的输入.输出以及网络的参数等数据,都是使用张量来进行描述.       torc ...

  8. DDP及其在pytorch中应用

    1 分布式训练及其分类 本部分内容引用自:https://zhuanlan.zhihu.com/p/72939003 分布式训练是为了应用多卡显卡加速模型的训练,可以分为三类: 按照并行方式分,可分为 ...

  9. Pytorch中的DDP

    一. 概览 DDP的原理? 在分类上,DDP属于Data Parallel.简单来讲,就是通过提高batch size来增加并行度. 为什么快? DDP通过Ring-Reduce的数据交换方法提高了通 ...

最新文章

  1. keras 的 example 文件 lstm_text_generation.py 解析
  2. 加速AI应用落地,英特尔AI 2.0的进阶之道
  3. 如何批量转移大量的邮件?
  4. Lucene:基于Java的全文检索引擎简介 车东
  5. 【redis】liunx安装redis
  6. python3 发送邮件
  7. 二分图的最大带权匹配
  8. 安装netframewoMS SQL SERVER 2005安装手记
  9. cassandra数据备份_Cassandra中的数据建模
  10. 面试珍藏:最常见的200多道Java面试题(2019年最新版)
  11. [转载] Python Pandas 的 all和any方法
  12. 为什么RGBW排列比RGB排列分辨率更高
  13. 证券词汇集锦(中英文+注释版)
  14. TrackFormer: Multi-Object Tracking with Transformers
  15. 妙招!如何用Python巧妙的批量合并 Excel!
  16. 利用sklearn中 ID3算法实现简单的课程销量预测+决策树可视化
  17. 强叔侃墙 NAT篇 NAT Server 三十二字真言(上篇)_实验一正一反,出入自如去反存正,自断出路
  18. html5 单页动画,超炫的动画效果单页网站
  19. element表格勾选获取序号
  20. 如何刷纯净线刷包?纯净线刷的教程以及刷机工具

热门文章

  1. 我是这样分析Linux性能问题的
  2. C 语言中,x += 5 == 4 是什么意思?
  3. dynmic_debug动态控制kernel下的日志输出
  4. vue里实现同步执行方法_vue中的watch方法 实时同步存储数据
  5. oracle 删除补全日志组_Oracle 10g 添加、删除日志组
  6. python爬虫——代理IP
  7. LeetCode 6055. 转化时间需要的最少操作数(贪心)
  8. LeetCode 2023. 连接后等于目标字符串的字符串对
  9. LeetCode 159. 至多包含两个不同字符的最长子串(滑动窗口)
  10. LeetCode 1200. 最小绝对差