当前位置: 首页 > article >正文

深度学习|pytorch基本运算-hadamard积、点积和矩阵乘法

【1】引言

pytorch对张量的基本运算和线性代数课堂的教学有一些区别,至少存在hadamard积、点积和矩阵乘法三种截然不同的计算方法。

【2】hadamard积

hadamard积是元素对位相乘,用“*”连接张量,代码:

# 导入包
import torch
# 生成多维张量
y=torch.tensor([[1,2,3],[1,2,3],[1,2,3]])
z=torch.tensor([[1,2,3],[3,2,1],[0,2,6]])
# hadamard积运算
a=y*z
# 打印
print(a)

代码运行后,按照对位相乘的效果输出:

图1 hadamard积运算 

【3】点积

点积是元素对位相乘后再求和,用“torch.sum(*)”连接张量,代码:

# 导入包
import torch
# 生成多维张量
y=torch.tensor([[1,2,3],[1,2,3],[1,2,3]])
z=torch.tensor([[11,2,3],[3,12,1],[10,2,16]])
# hadamard积运算
a=y*z
# 打印
print(a)
# 点积运算
b=torch.sum(y*z)
# 打印
print(b)

代码运行后,按照先对位相乘、再求和的效果输出:

 图2 点积运算 

【4】矩阵乘法

矩阵乘法是第一个矩阵的第i行与第二个矩阵第j列相乘的效果,用“torch.mm()”连接矩阵,就是大家所熟悉的线性代数中得矩阵乘法,代码:

# 导入包
import torch
# 生成多维张量
y=torch.tensor([[11,2,3],[1,12,30],[10,12,3]])
z=torch.tensor([[11,12,3],[3,12,10],[10,2,16]])
# hadamard积运算
a=y*z
# 打印
print(a)
# 点积运算
b=torch.sum(y*z)
# 打印
print(b)
# 矩阵乘法
c=torch.mm(y,z)
# 打印
print(c)

代码运行后,按照第一个矩阵的第i行与第二个矩阵第j列相乘的效果输出:

 图3 矩阵乘法运算  

【5】总结

本次学习了pytorch基本运算,包括hadamard积、点积和矩阵乘法:

  • hadamard积是元素对位相乘,用“*”连接张量
  • 点积是元素对位相乘后再求和,用“torch.sum(*)”连接张量
  • 矩阵乘法是第一个矩阵的第i行与第二个矩阵第j列相乘的效果,用“torch.mm()”连接矩阵,就是大家所熟悉的线性代数中得矩阵乘法。
http://www.lryc.cn/news/2397343.html

相关文章:

  • FFmpeg移植教程(linux平台)
  • Mybatis:灵活掌控SQL艺术
  • 2025.05.28【Choropleth】群体进化学专用图:区域数据可视化
  • Java设计模式详解:策略模式(Strategy Pattern)
  • 【春秋云镜】CVE-2022-26965 靶场writeup
  • 爬虫的几种方式(使用什么技术来进行一个爬取数据)
  • XML 编码:结构化数据的基石
  • nt!CcGetVacbMiss函数分析之设置好nt!_VACB然后调用函数nt!SetVacb
  • JSP、HTML和Tomcat
  • (1)pytest简介和环境准备
  • Git 入门学习教程
  • 构建高性能风控指标系统
  • openfeignFeign 客户端禁用 SSL
  • DeepSeek 赋能自动驾驶仿真测试:解锁高效精准新范式
  • 晨控CK-UR12与西门子PLC配置Modbus TCP通讯连接操作手册
  • 实验一:PyTorch基本操作实验
  • 可视化大屏通用模板Axure原型设计案例
  • 通配符(Wildcard)与正则表达式(Regular Expression)的关系及区别
  • 历年山东大学计算机保研上机真题
  • Java处理动态的属性:字段不固定、需要动态扩展的 JSON 数据结构
  • MAC电脑怎么通过触摸屏打开右键
  • 用 Whisper 打破沉默:AI 语音技术如何重塑无障碍沟通方式?
  • 【东枫科技】KrakenSDR 天线阵列设置
  • Spring Boot中的事件与JMS消息集成
  • ubuntu/windows系统下如何让.desktop/.exe文件 在开机的时候自动运行
  • 云计算数据治理
  • 【Net】TCP粘包与半包
  • 【Android】如何抓取 Android 设备的 UDP/TCP 数据包?
  • 深度解析 Nginx 配置:从性能优化到 HTTPS 安全实践
  • 触发器与存储过程详解