上下文
我正在尝试理解RNN,包括实现(在TensorFlow中)和理论。作为其中的一部分,我使用TensorFlow编写了一个简单的LSTM来对MNIST手写数字进行分类。
为此我使用TensorFlow的var g = function* backflip(query) {
yield 123; return 0;
};
undefined
var a = g();
undefined
a.next()
Object {value: 123, done: false}
a.next()
Object {value: 0, done: true}
a.next()
Object {value: undefined, done: true}
,输入形状为dynamic_rnn
(和[batch_size, max_timesteps, number_of_inputs]
)。
当我将MNIST图像输入28个时间步长的模型,每个时间步输入28个像素(总共784个像素)时,模型效果很好,训练速度快,达到高精度(约1分钟/纪元,98%)精确度为128个隐藏单位。)
但是,如果我逐个像素地将图像输入到模型中,那么每个输入大小为1的784个时间步长,模型执行得非常差(约30分钟/纪元,最大精度为40%)。
问题:
代码,如果它有用:
time_major=False