torch.bmm功能解读

bmmbatched matrix multiple 的简写,即批量矩阵乘法,矩阵是二维的,加上batch一个维度,因此该函数的输入必须是两个三维的 tensor,三个维度代表的含义分别是:(批量,行,列)。

对于 torch.bmm(tensor_a, tensor_b) 而言,

tensor_ashape为 (a, b, c)

tensor_bshape为 (d, e, f)

要求 a = d, c = e,即批量数相同,在计算时tensor_a 的第 i 个矩阵与 tensor_b 的第 i 个矩阵作乘法,i = 1, 2, 3, ..., a。因此为了矩阵乘法能够进行,c 和 e 必须相同。计算过程如图1所示。
图1. bmm计算过程

测试代码如下:

python 复制代码
import torch

BatchMatrix1 = torch.randn((3,4,3))
BatchMatrix2 = torch.randn((3,3,4))

BatchMatrixMultiple = torch.bmm(BatchMatrix1, BatchMatrix2)

print(BatchMatrixMultiple.shape)

输出为,与图1中绿色矩阵对应。

相关推荐
2501_94812015几秒前
基于量化感知训练的大语言模型压缩方法
人工智能·语言模型·自然语言处理
songyuc4 分钟前
【Llava】load_pretrained_model() 说明
人工智能·深度学习
MARS_AI_5 分钟前
大模型赋能客户沟通,云蝠大模型呼叫实现问题解决全链路闭环
人工智能·自然语言处理·信息与通信·agi
独自破碎E14 分钟前
【前缀和+哈希】LCR_011_连续数组
算法·哈希算法
一条大祥脚21 分钟前
26.1.26 扫描线+数论|因子反演+子序列计数|树套树优化最短路
数据结构·算法
名为沙丁鱼的猫72923 分钟前
【MCP 协议层(Protocol layer)详解】:深入分析MCP Python SDK中协议层的实现机制
人工智能·深度学习·神经网络·机器学习·自然语言处理·nlp
m0_5613596724 分钟前
基于C++的机器学习库开发
开发语言·c++·算法
bylander25 分钟前
【AI学习】几分钟了解一下Clawdbot
人工智能·智能体·智能体应用
星空露珠31 分钟前
速算24点所有题库公式
开发语言·数据库·算法·游戏·lua
2401_8324027532 分钟前
C++中的类型擦除技术
开发语言·c++·算法