我遇到了几个使用 RNN 对 MNIST 数字进行分类的示例,使用 sequence_length=1 初始化隐藏状态的原因是什么?如果您正在对视频帧预测进行 1 步预测,您将如何初始化它?
def init_hidden(self, x, device=None): # input 4D tensor: (batch size, channels, width, height)
# initialize the hidden and cell state to zero
# vectors:(number of layer, sequence length, number of hidden nodes)
if (self.bidirectional):
h0 = torch.zeros(2*self.n_layers, 1, self.n_hidden)
else:
h0 = torch.zeros(self.n_layers, 1, self.n_hidden)
if device is not None:
h0 = h0.to(device)
self.hidden = h0
输入通常表示为
inputs = inputs.view(batch_size*image_height, 1, image_width)
在上面的示例中,图像是按列传递的吗?是否有另一种方法来表示 RNN 中的输入图像?它与如何初始化隐藏状态有什么关系?