pytorch矩阵乘法总结

news2024/10/6 2:28:20

1. element-wise(*) 按元素相乘,支持广播,等价于torch.mul()

a = torch.tensor([[1, 2], 
								 [3, 4]])
b = torch.tensor([[2, 3], 
								 [4, 5]])
c = a*b  # 等价于torch.mul(a,b)
# tensor([[ 2,  6],
#        [12, 20]])
a * torch.tensor([1, 2]) # 广播,等价于torch.mul(a, torch.tensor([1, 2]))
# tensor([[1, 4],
#        [3, 8]])
a * torch.tensor([2])  # 乘以单个元素,依然是广播,等价于torch.mul(a, torch.tensor([2]))
# tensor([[1, 4],
#         [3, 8]])

2. torch.mm(), 实现矩阵叉乘,即第一个矩阵的列数等于第二个矩阵的行数,不支持广播。

a = torch.arange(9).reshape(3, 3)
b = torch.arange(12).reshape(3, 4)
torch.mm(a, b)
#tensor([[ 20,  23,  26,  29],
#        [ 56,  68,  80,  92],
#        [ 92, 113, 134, 155]])

3. torch.bmm(),三维矩阵乘法,第一个维度是batch_size的大小。两个矩阵的batch_size大小要相等。

a = torch.arange(9).reshape(1,3, 3)
b = torch.arange(12).reshape(1,3, 4)
torch.bmm(a, b)
# tensor([[[ 20,  23,  26,  29],
#         [ 56,  68,  80,  92],
#         [ 92, 113, 134, 155]]])

4. torch.matmul(), 混合矩阵乘法

4.1 都是一维,进行点积运算

在这里插入图片描述

4.2 都是二维,返回矩阵叉乘

在这里插入图片描述

4.3 向量乘以矩阵

在这里插入图片描述

4.4 矩阵乘以向量

在这里插入图片描述

4.5 一维向量乘以多维矩阵

# 如果两个参数都是至少1个维度,并且至少一个参数是3维,那么返回一个batched矩阵乘法。
# 一维向量乘以多维矩阵
c = torch.arange(6).reshape(1,2, 3)
d = torch.tensor([2, 1])

e = torch.matmul(d, c)  # d前置增加一个维度,然后在batch_size维度进行广播
e
# tensor([[3, 6, 9]])

4.6 多维矩阵乘以一维向量

e = torch.arange(2).reshape(1, 1, 2)
# 多维维矩阵乘以向量,向量在后面增加一个维度,然后在batch_size维度进行广播
f = torch.tensor([2, 4])  # 变成[[2], [4]]
g = torch.matmul(e, f)
g
# tensor([[4]])

4.7 最后两个维度没有一维向量

最后两个维度进行矩阵叉乘,前面的维度进行广播进行计算。
感兴趣的可以看看文档:https://pytorch.org/docs/stable/generated/torch.matmul.html#torch.matmul
在这里插入图片描述

5 torch.einsum()

参考该链接:https://zhuanlan.zhihu.com/p/434232512

6 Reference:

[1] https://huaweicloud.csdn.net/63807229dacf622b8df8865b.html
[2] https://pytorch.org/docs/stable/generated/torch.matmul.html#torch.matmul

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/495561.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

详解C++类对象(上篇)——超详细

目录 一,面向对象&面向过程的认识(简单了解即可,逐步认识) 二, 类 2.1 类的引入 2.2 类的定义 1. struct 2. class 类的两种定义方式: 2.3 封装&类的访问限定符 1. 封装概念 2. 类的访问限定符 …

低代码如何不写代码创建表单和维护表单

工作表新建与修改 新建工作表的流程包含 新建工作表/编辑公祖表为工作表添加字段,例如“员工档案”表中有姓名、性别、年龄等字段为字段设置属性工作表布局工作表预览、保存、关闭 1、新建工作表/修改工作表 新建工作表 修改工作表 2、为工作表添加字段 添加字段 左…

关于C语言的一些杂记2

文章目录 sizeof运算符内容关于基本概念的问题关于一些语句的理解和分号的注意字符的理解关于输出格式的扩展 本文内容摘自C技能树一些优秀的博主 sizeof运算符内容 关于基本概念的问题 sizeof是C语言的关键字,它用来计算变量(或数据类型)在…

2.Hive创建数据库

1.数据库操作 1.1 创建数据库 create database test comment Just for test location /abcd with dbproperties(aaabbb); comment后面指的是注释;location后面是数据库存放路径;dbproperties代表了数据库的属性 ps.避免要创建的数据库已经存在错误&…

Vue最新状态管理工具Pinia——Pinia的安装与使用

Pinia从了解到实际运用——pinia的安装与使用 知识回调(不懂就看这儿!)场景复现一、环境搭建1.创建项目2.安装pinia 二、基本使用1.创建pinia示例并挂载2.基本使用访问state使用getters使用actions 3.详细示例(详细注解&#xff0…

【23】核心易中期刊推荐——视觉/图像感知与识别人工智能算法及应用​​​​​​​

🚀🚀🚀NEW!!!核心易中期刊推荐栏目来啦 ~ 📚🍀 核心期刊在国内的应用范围非常广,核心期刊发表论文是国内很多作者晋升的硬性要求,并且在国内属于顶尖论文发表,具有很高的学术价值。在中文核心目录体系中,权威代表有CSSCI、CSCD和北大核心。其中,中文期刊的数…

2023年盐城工学院五年一贯制专转本旅游学概论考试大纲

2023年盐城工学院五年一贯制专转本旅游学概论考试大纲 一、考核对象 本课程的考核对象是五年一贯制高职专升本酒店管理专业考生。 二、考核方式 本课程考核采用闭卷考试的方式。 三、考核要求 掌握旅游学的基本原理,掌握旅游学的核心概念,具备旅游…

Android性能监控:主循环性能统计LooperStatsService详解

作者:飞起来_飞过来 简介 在Android性能监控和优化领域,一个会影响App性能表现的因素与Handler Message Looper机制有关。当Looper里面的Message处理不及时、或数量太多占用过多处理时间时,可能会出现卡顿感,并且不容易定位到卡顿…

WoShop多商户进口出口跨境电商uniapp商城源码

源码介绍:WoShop多商户跨境电商商城系统将传统的分销、积分、拼团等传统销售模式和直播带货、短视频带货等新型电商营销完美融为一体,专注技术,支持二次开发,专为用户、技术商提供跨境电商技术解决方案。 WoShop跨境电商源码产品…

网络弹性基础知识和实践

什么是网络弹性 弹性是网络处理中断并继续以可接受的标准向用户提供服务的能力。网络运营可能会受到配置错误、断电或操作员错误等问题的威胁。当这种可能性发生时,最终用户无法访问网络,从而对组织产生负面影响。高度弹性的网络可以通过在网络运行中断…

chatgpt官网拒绝访问怎么处理-chatGPT入口正确打开方式

chatgpt官网拒绝访问的原因有哪些 OpenAI是一家人工智能技术公司,其官网是OpenAI最重要的宣传与交流平台之一。但是,有时访问OpenAI官网可能会受到限制或拒绝访问。以下是可能导致OpenAI官网拒绝访问的几个常见原因: IP地址被封锁: OpenAI网…

【Python】只需2行代码,轻松将PDF转换成Word(含示范案例)

文章目录 一、前期准备二、pdf2docx功能三、限制四、案例 一、前期准备 可将 PDF 转换成 docx 文件的 Python 库。该项目通过 PyMuPDF 库提取 PDF 文件中的数据,然后采用 python-docx 库解析内容的布局、段落、图片、表格等,最后自动生成 docx 文件。 …

LFU缓存结构算法

设计LFU缓存结构 LFU:最近最少频率使用 基本思想: 当缓存满时,加入新数据,淘汰缓存中使用次数最少的key,当使用次数最少的key有多个,删除最早调用的key。 定义节点的数据结构 class Node{//使用频率int …

从零开始学习Linux运维,成为IT领域翘楚(八)

文章目录 🔥Linux进程管理🔥ps🔥top🔥htop 🔥Linux进程管理 🔥ps 查看系统中所有进程 语法: ps [options] [--help]参数: 🐟 -a 显示所有进程(包括其他用…

Windows Server 安装docker

在windows 10 或windows 11 上使用docker,可以直接在docker 官网下载docker desktop安装即可。 但在windows server上则无法支持docker desktop,此时可通过如下方式安装: 以 管理员权限运行Power Shell,然后执行: 安装…

微软骚操作恶心Win10用户,上网得先看广告

IE 浏览器在几个月前被彻底禁用,预装了快30年的老古董也确实到了退役的时候。 而微软也早有准备,2015年随着 Win10 发布推出了 Microsoft Edge 浏览器。 2020年迁移到 Chromium 内核让其成为了主流浏览器之一。 和 Chromium 系其他浏览器一样支持扩展插…

【计算机视觉 | 自然语言处理】BLIP:统一视觉—语言理解和生成任务(论文讲解)

文章目录 一、前言二、试玩效果三、研究背景四、模型结构五、Pre-training objectives六、CapFilt架构七、Experiment八、结论 一、前言 今天我们要介绍的论文是 BLIP,论文全名为 Bootstrapping Language-Image Pre-training for Unified Vision-Language Understa…

Node.js 的安装

node.js 通用的安装方式(单版本) Node.js 可以用不同的方式进行安装。 第一种,可以在官网中,根据自己的操作系统,选择对应的安装包。 打开官网网址(Download | Node.js) 第二种,就…

php+vue网盘系统的设计与实现

该网盘系统的开发和设计根据用户的实际情况出发,对系统的需求进行了详细的分析,然后进行系统的整体设计,最后通过测试使得系统设计的更加完整,可以实现系统中所有的功能,在开始编写论文之前亲自到图书馆借阅php书籍&am…

吉时利Keithley6430/6485/6487皮安表测试软件NS-SourceMeter

软件概述 NS-SourceMeter皮安表上位机软件用于实现吉时利皮安表的上位机控制功能,通过在软件上的相应操作,控制皮安表进行配置或者测量,同时可以对测量的数据和图形进行保存。NS-SourceMeter皮安表软件由计算机和皮安表组成,通过计…