python - 在 Pytorch 中连接两个张量
问题描述
RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 2. Got 32 and 71 in dimension 0 at /pytorch/aten/src/THC/generic/THCTensorMath.cu:87
我有一个张量的形状[71 32 1]
。
[100 32 1]
我想通过填充零向量来使其成形。
我尝试连接形状为 [29 32 1] 的零填充向量。我得到上面的错误。
我尝试使用 shape 零的填充向量[29 32 1]
,但仍然出现错误。
我怎样才能创建所需的张量?
解决方案
为了更好地帮助您,您需要发布导致错误的代码,没有它我们只是在这里猜测......
从您收到的错误消息中猜测:
1.
Sizes of tensors must match except in dimension 2
pytorch 尝试沿第二维连接,而您尝试沿第一维连接。
2.
Got 32 and 71 in dimension 0
您想要连接的张量的尺寸似乎与您预期的不一样,您有一个 size(72, ...)
而另一个是(32, ...)
.
您还需要检查这一点。
工作代码
这是一个 concat 的例子
import torch
x = torch.rand((71, 32, 1))
# x.shape = torch.Size([71, 32, 1])
px = torch.cat((torch.zeros(29, 32, 1, dtype=x.dtype, device=x.device), x), dim=0)
# px.shape = torch.Size([100, 32, 1])
或者,您可以使用functional.pad
:
from torch.nn import functional as F
px = F.pad(x, (0, 0, 0, 0, 29, 0))
推荐阅读
- matlab - 不等间距的值的等间距 x 值
- arangodb - 如何在 arangodb 中进行有效的随机游走?
- c++ - Enable_if 作为模板参数
- javascript - 在 Chrome 中运行时如何使用 Cypress 测试文件下载
- python-3.x - 如何根据位置坐标找出地图图像上的颜色?
- java - 如何使用索引值拆分我的正则表达式
- mysql - 在ansible中创建具有mysql角色的复制用户时出错
- ios - 表格视图中的 Swift 相当大的跳跃,在 cellforrow 中只有一个查询
- git - Azure DevOps 将 TFS 项目迁移到相同的 Git 存储库
- angular - 为什么当我添加 dx-lookup 时我的列不显示任何内容