简易了解Pytorch中的@ 和 * 运算符(附Demo)

目录

  • 1. 基本知识
  • 2. @
  • 3. *

1. 基本知识

在 PyTorch 中,@ 和 * 运算符用于不同类型的数学运算,具体是矩阵乘法和逐元素乘法

基本知识

运算符功能适用场景示例
@矩阵乘法(或点乘)用于执行线性代数中的矩阵乘法C = A @ B,其中 A 和 B 为矩阵
*逐元素乘法用于对同一形状的张量进行逐元素相乘C = A * B,其中 A 和 B 为同形状张量

两者的差异总结如下:

特点矩阵乘法 (@)逐元素乘法 (*)
运算类型矩阵乘法(线性代数)逐元素运算
适用条件列数等于行数形状相同
返回结果形状(m, p)与输入张量相同
使用示例C = A @ BC = A * B
适用场景线性变换、深度学习中的权重计算图像处理、逐元素操作等
  • 使用 @ 运算符进行矩阵乘法适合线性代数操作,常用于深度学习中的层与权重的运算
  • 使用 * 运算符进行逐元素乘法适合需要对张量进行元素级操作的场景,如数据处理和图像增强等

2. @

@ 运算符用于执行矩阵乘法或向量点乘
对于两个矩阵 A 和 B,其结果 C 是一个新矩阵,其中 C[i][j] 是 A 的第 i 行与 B 的第 j 列的点积

适用条件: A 的列数必须等于 B 的行数,即 A 的形状为 (m, n),B 的形状为 (n, p),则结果 C 的形状为 (m, p)

import torch

# 创建两个矩阵
A = torch.tensor([[1, 2], [3, 4]])  # 2x2 矩阵
B = torch.tensor([[5, 6], [7, 8]])  # 2x2 矩阵

# 使用 @ 运算符进行矩阵乘法
C = A @ B
print("矩阵乘法结果:\n", C)

截图如下:

在这里插入图片描述

3. *

*运算符用于对两个相同形状的张量进行逐元素相乘
结果张量的每个元素是操作数张量中对应元素的乘积

适用条件: A 和 B 必须具有相同的形状(或能够通过广播规则兼容)

import torch

# 创建两个相同形状的张量
A = torch.tensor([[1, 2], [3, 4]])  # 2x2 矩阵
B = torch.tensor([[5, 6], [7, 8]])  # 2x2 矩阵

# 使用 * 运算符进行逐元素乘法
C = A * B
print("逐元素乘法结果:\n", C)

截图如下:

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

VulkanTutorial(8·Shader modules)

Shader modules 与早期的API不同,Vulkan中的着色器代码必须以字节码格式指定,而不是人类可读的语法,如GLSL和HLSL。这种字节码格式称为SPIR-V它是一种可用于编写图形和计算着色器的格式 使用像SPIR-V这样简单的字节码格式,不会面…

读数据工程之道:设计和构建健壮的数据系统23批量获取的考虑因素

1. 批量获取的考虑因素 1.1. 批量获取,通常是获取数据的一种便捷方式 1.1.1. 通过从源系统中抽取一个数据子集,根据时间间隔或累积数据的大小来获取数据 1.2. 基于时间间隔的批量获取在传统ETL的数据仓库中很普遍 1.2.1. 每天在非工作时间&#xff0…

Cyber​​Panel upgrademysqlstatus 远程命令执行漏洞(QVD-2024-44346)

0x01 产品简介 CyberPanel是一个开源的Web控制面板,它提供了一个用户友好的界面,用于管理网站、电子邮件、数据库、FTP账户等。CyberPanel旨在简化网站管理任务,使非技术用户也能轻松管理自己的在线资源。 0x02 漏洞概述 该漏洞源于upgrademysqlstatus接口未做身份验证和…

【形态学 - 击中-击不中变换(很多都讲得不直观不清楚,甚至是错的,我来个通俗易懂的)】

简单描述过程: 一般的目标匹配是,知道目标长什么样,用这个模板去匹配。这里还知道目标周围环境长什么样。 如何把环境的信息加进来用来帮助匹配呢。这个就是击中-击不中联合匹配了。 就是用亮图去匹配目标。 再用暗图去匹配背景。 两个联合起…

【蓝桥杯选拔赛真题78】python电话号码 第十五届青少年组蓝桥杯python选拔赛真题 算法思维真题解析

目录 python电话号码 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python电话号码 第十五届蓝桥杯青少年组python比赛选拔赛真题 一、题目要…

单细胞数据分析(四):细胞亚型注释

文章目录 介绍加载R包导入数据细胞簇可视化细胞簇标记基因细胞识别输出结果系统信息介绍 单细胞细胞亚型注释是指在单细胞聚类分析后,对每个聚类得到的细胞群体进行生物学意义上的分类和识别的过程。这一步骤的目的是为了确定每个细胞群体对应的具体细胞类型或状态,从而更好…

CI/CD 的原理

一、CI/CD 的概念 CI/CD是一种软件开发流程,旨在通过自动化和持续的集成、测试和交付实现高质量的软件产品。 CI(Continuous Integration)持续集成 目前主流的开发方式是协同开发,即多位开发人员同事处理同意应用不同模块或功能。 如果企业在同一时间将…

常见大气校正模型及6S模型安装部署【20241028】

⛄常见大气校正模型 大气校正是遥感图像标准化处理的重要环节,消除太阳辐射传输过程中大气对于遥感图像的影响,提高影像的清晰度,获取地物真实的光谱信息。由于大气条件较为复杂,且随区域地理分布和观测时间是动态变化的&#xf…

map 和 set 的使用

文章目录 一.序列式容器和关联式容器二. set 系列的使用1. set 和 multiset 参考文档2. set 类介绍3. set 的构造和迭代器4. set 的增删查5. insert 和迭代器遍历使用样例6. find 和 erase 使用样例7. multiset 和 set 的差异 三. map 系列的使用1. map 和 multimap参考文档2. …

区块链可投会议CCF A--ICDE 2025 截止11.25 附2024录用数

Conference: IEEE International Conference on Data Engineering (ICDE) CCF level:CCF A Categories:Database/Data Mining/Content Retrieval Year:2025 Conference time: May 19-23, 2025 录用数:…

SLAM:未来智能科技的核心——探索多传感器融合的无限可

前言 作为2024年刚入学的研一新生,我初步选择了SLAM(Simultaneous Localization and Mapping,即同时定位与地图构建)作为我的研究方向。虽然在理论学习上已经有了一些基础,但目前的我并没有太多的实践经验。这让我在面…

Black Basta 勒索软件冒充 Microsoft Teams 的 IT 支持人员入侵网络

BlackBasta 勒索软件行动已将其社会工程攻击转移到 Microsoft Teams,伪装成公司帮助台联系员工以协助他们进行正在进行的垃圾邮件攻击。 Black Basta 是一个勒索软件行动,自 2022 年 4 月起活跃,并对全球数百起企业攻击负责。 2022 年 6 月…

Java语言-接口(下)

目录 1. 接口使用实例 1.1 给对象数组排序 1.2 Clonable接口和深拷贝 Cloneable 浅拷贝 深拷贝 1.3 抽象类和接口的区别 2. Object类 2.1 Object类的介绍 2.2 toString() 2.3 equals() 2.4 hashcode() 1. 接口使用实例 1.1 给对象数组排序 现有一个学生类&#…

Let‘s Verify Step by Step(openai-o1论文技术调研)

Let’s Verify Step by Step openai的经典论文,发布于2023年5月31日,为当前openai-o1奠定了技术基础,同时开源了PRM800K数据集,为开源社区贡献了十分宝贵的参考 paper原文链接 : https://arxiv.org/abs/2305.20050 论文概述 当前…

VUE, element-plus, table分页表格列增加下拉筛选多选框,请求后台

简介 为了方便表格查询时可以筛选列的值,需要给列增加筛选框(多选框),element-plus提供了列的filter字段,但是基于表格数据的筛选,不会重新请求后台,而且当前表格数据有多少个条目,…

Makefile Npm

还是习惯强类型语法: typescript 不错 vue 非常好的模组 也是很好的学习模板 编译完才6MB 相当可以了 时代发展有点快 导入echarts 模块编译完才1.7MB 好用 <script> import {VaButton, VaInput} from "vuestic-ui";export default {components: {VaInput, VaB…

20241028在荣品PRO-RK3566开发板的预置Android13下用iperf3测试AP6256的WIFI网速

20241028在荣品PRO-RK3566开发板的预置Android13下用iperf3测试AP6256的WIFI网速 2024/10/28 18:17 荣品PRO-RK3566开发板作为服务器端&#xff1a; 笔记本电脑作为客户端。 接公司的网络。 在笔记本电脑的ubuntu20.04下&#xff0c;通过nethogs实测iperf3的发送速度大概是10MB…

Bi-LSTM-CRF实现中文命名实体识别工具(TensorFlow)

项目源码获取方式见文章末尾&#xff01; 回复暗号&#xff1a;13&#xff0c;免费获取600多个深度学习项目资料&#xff0c;快来加入社群一起学习吧。 **《------往期经典推荐------》**项目名称 1.【MobileNetV2实现实时口罩检测tensorflow】 2.【卫星图像道路检测DeepLabV3P…

【ArcGIS Pro实操第4期】绘制三维地图

【ArcGIS Pro实操第4期】绘制三维地图 ArcGIS Pro绘制三维地图-以DEM高程为例参考 如何使用ArcGIS Pro将栅格数据用三维的形式进行表达&#xff1f;在ArcGIS里可以使用ArcScene来实现&#xff0c;ArcGIS Pro实现原理跟ArcScene一致。由于Esri未来将不再对ArcGIS更新&#xff0c…

Python酷库之旅-第三方库Pandas(174)

目录 一、用法精讲 801、pandas.Categorical类 801-1、语法 801-2、参数 801-3、功能 801-4、返回值 801-5、说明 801-6、用法 801-6-1、数据准备 801-6-2、代码示例 801-6-3、结果输出 802、pandas.Categorical.from_codes方法 802-1、语法 802-2、参数 802-3、…