python - 如何表示 PyTorch LSTM 3D 张量?

标签 python pytorch lstm tensor

根据the docs ,我看到 Pytorch 的 LSTM 期望其所有输入都是 3D 张量。我正在尝试做一个简单的序列到序列 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])。我希望我以某种方式需要第三个维度,但我不确定它的实际含义。任何帮助将不胜感激。

最佳答案

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

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

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

关于python - 如何表示 PyTorch LSTM 3D 张量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60160826/

相关文章:

python - 在哪里可以找到 Python 中所有可能的 HTML 标签的列表?

python - 在 PyTorch 中固定内存实际上更慢?

python - 如何在 TensorFlow 中处理具有可变长度序列的批处理?

machine-learning - 如何学习语言模型?

python - 使用 Tensorflow 收敛 LSTM 网络

javascript - 获取选择选项 Django 的值

Python子进程读取进程在写入进程示例之前终止,需要澄清

python - 如何在pytorch模型中加载检查点文件?

python - 如何忽略和初始化 state_dict 中的缺失键

python - 在将字典保存到 CSV 之前忽略一些键值对