【发布时间】:2017-08-09 13:20:43
【问题描述】:
我有以下代码。
embedded = self.embedding(input).view(1, 1, -1)
embedded = self.drop(embedded)
print(embedded[0].size(), hidden[0].size())
concatenated_output = torch.cat((embedded[0], hidden[0]), 1)
代码的最后一行给了我以下错误。
RuntimeError:/data/users/soumith/miniconda2/conda-bld/pytorch-0.1.9_1487344852722/work/torch/lib/THC/generic/THCTensorMath.cu:141 处的张量大小不一致
请注意,当我在第 1 行打印张量形状时。 3,我得到以下输出。
torch.size([1, 300]) torch.size([1, 1, 300])
即使我使用了 view(1, 1, -1) 的视图方法,为什么我得到 embedded 张量的 [1, 300] 形状?
任何帮助将不胜感激!
【问题讨论】:
-
什么是
What is self.drop??可以在调用self.drop函数之前打印嵌入的尺寸吗? -
嵌入大小相同。 self.drop 是一个 dropout 层。
-
那么在这种情况下,
print(embedded.size())会给你[1, 1, 300]。由于您正在打印print(embedeed[0].size),这将是[1, 300]。鉴于这些形状,您将无法执行 torch.cat 操作。您需要沿要连接的维度具有相同的大小
标签: pytorch