Day02-04.张量点乘和矩阵乘法

一、点乘运算

点乘指(Hadamard)的是相同形状的张量对应位置的元素相乘,使用mul 和运算符 * 实现。

python 复制代码
# 1. 定义函数, 演示张量: 点乘
def dm01():
    # 1. 定义张量, 2行3列.
    t1 = torch.tensor([[1, 2, 3], [4, 5, 6]])
    print(f't1: {t1}')

    # 2. 定义张量, 2行3列.
    t2 = torch.tensor([[1, 2, 3], [4, 5, 6]])
    print(f't2: {t2}')

    # 3. 演示 张量 点乘操作.
    # t3 = t1 * t2
    t3 = t1.mul(t2)     # 效果同上.

    # 4. 打印结果.
    print(f't3: {t3}')

二、矩阵乘法运算

矩阵乘法运算要求第一个矩阵 shape: (n, m),第二个矩阵 shape: (m, p), 两个矩阵点积运算 shape 为: (n, p)。

1、运算符 @ 用于进行两个矩阵的乘积运算。

2、torch.matmul 对进行乘积运算的两矩阵形状没有限定。对于输入的 shape 不同的张量, 对应的最后几个维度必须符合矩阵运算规则。

python 复制代码
# 2. 定义函数, 演示张量: 矩阵乘法
def dm02():
    # 条件: A列=B行, 结果: A行B列
    # 1. 定义张量, 2行3列.
    t1 = torch.tensor([[1, 2, 3], [4, 5, 6]])
    print(f't1: {t1}')

    # 2. 定义张量, 3行2列.
    t2 = torch.tensor([[1, 2], [3, 4], [5, 6]])
    print(f't2: {t2}')

    # 3. 演示 张量 矩阵乘法操作.
    t3 = t1 @ t2
    # t3 = t1.matmul(t2)  # 效果同上, matrix multiply(矩阵乘法)

    # 4. 打印结果.
    print(f't3: {t3}')

    # 5. 演示 dot()函数.
    # t3 = t1.dot(t2)       # 报错, dot() 只针对于一维张量有效.
    t4 = torch.tensor([1, 2, 3])
    t5 = torch.tensor([4, 5, 6])
    t6 = t4.dot(t5)
    print(f't6: {t6}')
相关推荐
JSMSEMI11几秒前
JSM13N50F 500V N 沟道功率 MOSFET
大数据·网络·人工智能
树獭非懒3 分钟前
AI大模型小白手册 | Function Calling-大模型与真实世界交互的桥梁
人工智能·llm·ai编程
幻奏岚音4 分钟前
AI模型用户画像分析_new
人工智能·算法·计算机视觉·数据挖掘
XD7429716368 分钟前
科技早报晚报|2026年5月16日:本地化闸门、训练前优化与设备信任栈,今天更值得跟进的 3 个技术机会
人工智能·科技·科技新闻·开发者工具·工程质量·科技早报
hu9245195599 分钟前
基于阻尼能量的 P波初至 自动拾取算法
人工智能
fpcc12 分钟前
AI和大模型——梯度和梯度下降
人工智能
深度学习lover15 分钟前
<数据集>yolo 笔识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·笔识别
熊猫钓鱼>_>15 分钟前
Q-Learning详解:从理论到实战的完整指南
人工智能·python·架构·大模型·llm·machine learning·q-learning
阿Y加油吧16 分钟前
二刷 LeetCode:爬楼梯与杨辉三角,Java 实现复盘
java·算法·leetcode
落羽的落羽19 分钟前
【项目】C++从零实现JsonRpc框架——项目引入
linux·服务器·开发语言·c++·人工智能·算法·机器学习