简述
还是跟之前的CNN一样,都是学于莫烦Python的。
解释
- 关于数据导入部分的代码含义,其实跟之前的CNN几乎完全一致。
- 而且还需要部分的源代码–MNIST(在之前的地方有超链接)
- 这些都可以在下面的CNN的链接中看到
- 卷积神经网络CNN入门【pytorch学习】
模型含义
这里使用RNN,这是跟之前的CNN唯一的不同的地方,其他的都是完全一致的。
class RNN(nn.Module):
def __init__(self):
super(RNN, self).__init__()
self.rnn = nn.LSTM(
input_size=28,
hidden_size=64,
num_layers=1,
batch_first=True
)
self.out = nn.Linear(64, 10) # fully connected layer, output 10 classes
def forward(self, x):
r_out, (h_n, h_c) = self.rnn(x, None) # None 表示 hidden state 会用全0的 state
# r_out = [BATCH_SIZE, input_size, hidden_size]
# r_out[:, -1, :] = [BATCH_SIZE, hidden_size] '-1',表示选取最后一个时间点的 r_out 输出
out = self.out(r_out[:, -1, :])
# out = [BATCH_SIZE, 10]
return out
rnn