【问题标题】:How do I represent a PyTorch LSTM 3D Tensor?如何表示 PyTorch LSTM 3D 张量?
【发布时间】:2020-05-26 09:17:00
【问题描述】:

根据the docs,我看到Pytorch’s LSTM expects all of its inputs to be 3D tensors. 我正在尝试做一个简单的序列到序列LSTM,我有:

class BaselineLSTM(nn.Module):
    def __init__(self):
        super(BaselineLSTM, self).__init__()

        self.lstm = nn.LSTM(input_size=100, hidden_size=100)

    def forward(self, x):
        print('x', x)
        x = self.lstm(x)

        return x

我的x.size()torch.Size([100, 1])。我希望以某种方式需要第三个维度,但我不确定它的实际含义。任何帮助将不胜感激。

【问题讨论】:

    标签: python pytorch lstm tensor


    【解决方案1】:

    thisPytorch 文档中的Inputs: input, (h_0, c_0)部分进一步详细说明了输入形状。输入张量的第一维预计对应序列长度,第二维对应批量大小,第三维对应输入大小。

    因此,对于您的示例,输入张量 x 实际上的大小应为 (seq_length, batch_size, 100)

    这里是 Pytorch 论坛上的详细帖子以获取更多详细信息:https://discuss.pytorch.org/t/why-3d-input-tensors-in-lstm/4455/9

    【讨论】:

      猜你喜欢
      • 2020-10-14
      • 2021-03-14
      • 1970-01-01
      • 2021-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-23
      • 2018-12-29
      相关资源
      最近更新 更多