我一直在看这篇关于RNN的文章:
https://medium.com/@erikhallstrm/hello-world-rnn-83cd7105b767
但是,我的兴趣在于多对一的RNN。所以我对如何应用截断反向传播感到困惑。
另外,我有兴趣在训练和测试中使用不同的时间步骤 - 如果可能的话。是否有可能实现这一目标?
总结一下这个问题: 1.如何使用适当的截断BP用于多对一RNN? 2.如何使用不同长度的序列进行训练/测试?
答案 0 :(得分:0)
这里是Danijar的帖子,在tensorflow中实现了多对一。 https://danijar.com/introduction-to-recurrent-networks-in-tensorflow/关于动态时间步长,dynamic_rnn()
允许您指定任意数量的时间步长。
# Batch size x time steps x features.
data = tf.placeholder(tf.float32, [None, None, 28])
通过将数据传递到dynamic_rnn()
中,将创建rnn或GRU或LSTM,并将根据time_steps
中的第二维自动展开data
。