pytorch中torch.einsum函数的详细计算过程图解

第一次见到 rel_h = torch.einsum(“bhwc,hkc->bhwk”, r_q, Rh)这行代码时,属实是懵了,网上找了很多博主的介绍,但都没有详细的说明函数内部的计算过程,看得我是一头雾水,只知道计算结果的维度是如何变化的,却不明白函数内部是如何计算的。话不多说,直接上示例代码

示例代码

import torch
r_q = torch.tensor([[[[1, 2, 3, 4, 5],[6, 7, 8, 9, 10],[11, 12, 13, 14, 15],[16, 17, 18, 19, 20]],[[21, 22, 23, 24, 25],[26, 27, 28, 29, 30],[31, 32, 33, 34, 35],[36, 37, 38, 39, 40]],[[41, 42, 43, 44, 45],[46, 47, 48, 49, 50],[51, 52, 53, 54, 55],[56, 57, 58, 59, 60]]]])Rh = torch.tensor([[[1, 2, 3, 4, 5,],[7, 8, 9, 10, 11, ],[13, 14, 15, 16, 17, ],[19, 20, 21, 22, 23, ],[1, 2, 3, 4, 5,],[1, 2, 3, 4, 5,],],[[25, 26, 27, 28, 29, ],[31, 32, 33, 34, 35, ],[37, 38, 39, 40, 41, ],[43, 44, 45, 46, 47, ],[1, 2, 3, 4, 5,],[1, 2, 3, 4, 5,],],[[49, 50, 51, 52, 53, ],[55, 56, 57, 58, 59, ],[61, 62, 63, 64, 65, ],[67, 68, 69, 70, 71, ],[1, 2, 3, 4, 5,],[1, 2, 3, 4, 5,],]])rel_h = torch.einsum("bhwc,hkc->bhwk", r_q, Rh)
print(rel_h)

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

结果解释

文字很难解释清楚,直接上图。r_q的维度为(1, 3, 4, 5), Rh的维度为(3, 6, 5),函数torch.einsum(“bhwc,hkc->bhwk”, r_q, Rh)中b=1, h=3, w=4, c=5。所以最终结果Rel_h的维度为bhwk,即(1, 3, 4, 5)。具体计算过程如下图。
这回看懂了吧。还不理解的或者讲的不对的地方,欢迎在评论区留言。创作不易,喜欢的话点个关注吧

在这里插入图片描述

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

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

相关文章

使用powershell设置定时启动程序

注册任务: Register-ScheduledTask -TaskName "OpenCalculator" -Trigger (New-ScheduledTaskTrigger -Once -At "2023-08-04 18:00") -Action (New-ScheduledTaskAction -Execute "calc.exe") 这行代码中,我们直接在 …

SpringCloud之微服务API网关Gateway介绍

文章目录 1 微服务API网关Gateway1.1 网关简介1.2 Spring Cloud Gateway介绍1.3 Gateway特性1.4 Gateway核心概念1.4.1 路由1.4.1.1 定义1.4.1.2 动态路由 1.4.2 断言1.4.2.1 默认断言1.4.2.2 自定义Predicate 1.4.3 过滤器1.4.3.1 默认过滤器1.4.3.2 自定义Filter(…

C++ 用vector创建数组对象

C标准库提供了被封装的动态数组——vector&#xff0c;而且这种被封装的数组可以具有各种类型&#xff0c;这就使我们免去了一些重复性工作。 vector不是一类&#xff0c;而是一个类模板。 1. vector定义动态数组的形式为 vector<元素类型>数组对象名(数组长度);尖括号…

【C语言初阶】指针篇—下

目录 4. 指针运算4.1 指针-整数4.2 指针-指针4.3 指针的关系运算 5. 指针和数组6. 二级指针7. 指针数组 C语言初阶—指针上 点击跳转 4. 指针运算 指针 整数指针-指针指针的关系运算 4.1 指针整数 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h>int main() {in…

debian怎么修改man help为中文,wsl怎么修改显示语言为中文

在Debian 12系统中&#xff0c;要将系统语言和Man帮助手册设置为中文&#xff0c;需要执行以下步骤&#xff1a; 安装中文语言包&#xff1a; 首先&#xff0c;更新软件包列表并安装中文语言包。打开终端并运行以下命令&#xff1a; sudo apt update sudo apt install locales配…

清理 Oracle 的监听日志

清理 Oracle 的监听日志 用户的双节点 Oracle 11g rac 集群&#xff0c;近期发现硬盘空间使用过多&#xff0c;其中的一个节点【/oracle】目录空间使用了接近 90%&#xff0c;另一个节点使用了 95%。以其中的一个节点为例&#xff0c;详细情况如下&#xff1a; [roothis01 ~]…

关于Monkey稳定性测试,这是我看到最详细的文章

通过随机点击屏幕一段时间&#xff0c;看看app会不会崩溃&#xff0c;能不能维持正常运行&#xff0c;这就是稳定性测试。 01、Monkey是什么 Monkey测试是Android平台自动化测试的一种手段&#xff0c;通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的…

2023 电赛E题--可能会出现的问题以及解决方法

2023年电赛E题报告模板&#xff08;K210版&#xff09;--可直接使用 本文链接&#xff1a;2023年电赛E题报告模板&#xff08;K210版&#xff09;--可直接使用_皓悦编程记的博客-CSDN博客 解决激光笔在黑色区域无法识别 本文链接&#xff1a; 2023 电赛 E 题 激光笔识别有误-…

获取SQL语句表名,判断DDL类型

1.在maven中引入jsqlparser依赖 <!--sql语句解析--><dependency><groupId>com.github.jsqlparser</groupId><artifactId>jsqlparser</artifactId><version>4.4</version></dependency>2.解析SQL语句具体代码 此代码解析…

AI Chat 设计模式:12. 享元模式

本文是该系列的第十二篇&#xff0c;采用问答式的方式展开&#xff0c;问题由我提出&#xff0c;答案由 Chat AI 作出&#xff0c;灰色背景的文字则主要是我的一些思考和补充。 问题列表 Q.1 给我介绍一下享元模式A.1Q.2 也就是说&#xff0c;其实共享的是对象的内部状态&…

C#开发FFMPEG例子(API方式) FFmpeg拉取udp组播流并播放

代码及工程见https://download.csdn.net/download/daqinzl/88168680 开发工具&#xff1a;visual studio 2019 网上用C/C调用FFmpeg的API例子很多&#xff0c; c#使用ffmpeg.autogen的方式很简单&#xff0c;直接复制C/C调用FFmpeg的API的代码到C#中&#xff0c;然后在FFmpeg…

【unity之IMGUI实践】游戏结束流程封装实现【七】

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;uni…

LNMP搭建及论坛搭建

一、LNMP LNMP架构是目前成熟的企业网站应用模式之一&#xff0c;指的是协同工作的一整套系统和相关软件&#xff0c; 能够提供动态Web站点服务及其应用开发环境。LNMP是一个缩写词&#xff0c;具体包括Linux操作系统、nginx网站服务器、MySQL数据库服务器、PHP&#xff08;或…

【Linux】 Dockerfile Tomcat部署

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 Dockerfile Tomcat部署 构建SSH镜像Systemctl镜像nginx镜像tomcat 镜像mysql镜像 构建SSH镜像 mkdir /opt/sshd cd /opt/sshdvim Dockerfile #第一行必须指明基于的基础镜像…

【无标题】uniapp引入萤石云 真机无法运行 踩坑集合

Uniapp 接入萤石云 踩坑 1.先用了 UIKit Javascript 就是在 pc端 那套流程 npm install ezuikit-jsimport EZUIKit from ezuikit-js;这套流程貌似只适用于pc端&#xff0c;我在接入uniapp的时候没看官网 以为都是一套流程&#xff0c;然后就在uniapp中也来了这一套&#xff0…

python与深度学习(十五):CNN和宝可梦模型

目录 1. 说明2. 宝可梦模型2.1 导入相关库2.2 建立模型2.3 模型编译2.4 数据生成器2.5 模型训练2.6 模型保存 3. 宝可梦的CNN模型可视化结果图4. 完整代码5. 宝可梦的迁移学习 1. 说明 本篇文章是CNN的另外一个例子&#xff0c;宝可梦模型&#xff0c;是自制数据集的例子。之前…

快速文件传输常见问题

我们所处的世界充斥着各种信息&#xff0c;能够迅速获得正确的数据往往是企业成功的关键因素。将文件从A点移动到B点需要考虑很多问题&#xff0c;但是当涉及需要在最短时间内送达全球各地收件人的大型关键任务文件时&#xff0c;就不能再使用Dropbox和 Google Drive 等方案了。…

互联网的发展

目录 1.什么是互联网 2.互联网的发展历史 3.中国互联网的发展历程 4.互联网对人们生活的影响 5.互联网给人类带来了哪些负面影响 1.什么是互联网 互联网&#xff08;Internet&#xff09;是一个全球性的计算机网络系统&#xff0c;它连接了数十亿台计算机和其他设备。它是由…

mysql中MyISAM引擎和InnoDB引擎的区别

MyISAM和InnoDB是MySQL数据库中两种常用的存储引擎。它们在功能和性能方面有一些区别&#xff0c;下面是它们的主要区别&#xff1a; 事务支持&#xff1a;InnoDB是一个支持事务处理的存储引擎&#xff0c;而MyISAM不支持事务。事务是一组数据库操作&#xff0c;可以一起成功或…

il汇编整数相加

在这里尝试了IL汇编字符串连接&#xff1b; IL汇编字符串连接_bcbobo21cn的博客-CSDN博客 下面来看一下IL汇编整数相加&#xff1b; 大概的看一下一些资料&#xff0c;下面语句&#xff0c; ldc.i4 20 ldc.i4 30 add 看上去像是&#xff0c;装载整数20到一个类似于…