相关疑难解决方法(0)

理解一个简单的LSTM pytorch

import torch,ipdb
import torch.autograd as autograd
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
from torch.autograd import Variable

rnn = nn.LSTM(input_size=10, hidden_size=20, num_layers=2)
input = Variable(torch.randn(5, 3, 10))
h0 = Variable(torch.randn(2, 3, 20))
c0 = Variable(torch.randn(2, 3, 20))
output, hn = rnn(input, (h0, c0))
Run Code Online (Sandbox Code Playgroud)

这是文档中的LSTM示例.我不明白以下事项:

  1. 什么是输出大小,为什么没有在任何地方指定?
  2. 为什么输入有3个维度.5和3代表什么?
  3. h0和c0中的2和3是什么,这些代表什么?

编辑:

import torch,ipdb
import torch.autograd as autograd
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
from torch.autograd import Variable
import torch.nn.functional as F

num_layers=3 …
Run Code Online (Sandbox Code Playgroud)

neural-network lstm pytorch rnn

29
推荐指数
3
解决办法
2万
查看次数

PyTorch LSTM 输入维度

我正在尝试使用 PyTorch LSTM 训练一个简单的 2 层神经网络,但在解释 PyTorch 文档时遇到问题。具体来说,我不太确定如何处理我的训练数据的形状。

我想要做的是通过小批量在一个非常大的数据集上训练我的网络,其中每个批次的长度为 100 个元素。每个数据元素将有 5 个特征。文档指出层的输入应该是形状(seq_len、batch_size、input_size)。我应该如何塑造输入?

我一直在关注这篇文章:https : //discuss.pytorch.org/t/understanding-lstm-input/31110/3,如果我正确解释了这一点,每个小批量应该是形状 (100, 100, 5 )。但在这种情况下,seq_len 和 batch_size 有什么区别?另外,这是否意味着输入 LSTM 层的第一层应该有 5 个单元?

谢谢!

python machine-learning lstm pytorch

7
推荐指数
1
解决办法
2023
查看次数

标签 统计

lstm ×2

pytorch ×2

machine-learning ×1

neural-network ×1

python ×1

rnn ×1