python-3.x - 将许多矩阵和许多向量相乘 pytorch
问题描述
我正在尝试将以下内容相乘:
一批矩阵N x M x D
一批向量 N x D x 1
得到一个结果:N x M x 1
好像我在做N
点积M x D
D x 1
。
我似乎无法在 PyTorch 中找到正确的功能。
torch.bmm
据我所知,仅适用于一批向量和一个矩阵。如果我必须使用,torch.einsum
那就这样吧,但我宁愿不要!
解决方案
它非常简单直观einsum
:
torch.einsum('ijk, ikl->ijl', mats, vecs)
但你的操作只是:
mats @ vecs
推荐阅读
- php - fgetcsv & glob - 删除限制但停止在 10000 个文件
- go - 是否可以在 golang 中使用反射来获取用户定义类型的底层类型?
- database - 当您读取实体关系时,您是从实体的一侧读取基数,还是从关系中的每个实体读取基数?
- spring - 如何使用托管在 Tomcat 上的 Spring Boot 应用程序从 Docker 容器通过 JDBC 访问 Oracle AWS RDS
- html - 如何将选项元素的值设置为排序?
- while-loop - 理解 JavaScript 的 While 循环中的迭代
- azure-cosmosdb - Azure CosmosDB 使用 is_defined 命令创建 SQLParameter
- mysql - Ubuntu 18.04 上的 lower_case_table_names=1 不允许 mysql 启动
- json - [Seld\JsonLint\ParsingException]
- javascript - 如何根据单击的图像播放声音