Tensorflow text_generation教程中有状态GRU的误导性训练数据混编

时间:2020-03-30 15:33:35

标签: tensorflow keras lstm recurrent-neural-network

我正在研究Tensorflow text_generation教程(https://www.tensorflow.org/tutorials/text/text_generation),想知道为什么尽管GRU层的状态设置为TRUE,它们为何仍改洗训练数据?

这与文档(https://www.tensorflow.org/api_docs/python/tf/keras/layers/RNN)相矛盾: “关于在RNN中使用有状态性的说明:您可以将RNN图层设置为“有状态”,这意味着为一批计算的样本所计算的状态将被重用为下一批次的样本的初始状态。不同连续批次中样品之间的一对一映射。”

教程中的代码段:

dataset = dataset.shuffle(BUFFER_SIZE).batch(BATCH_SIZE, drop_remainder=True)
tf.keras.layers.GRU(rnn_units,
                        return_sequences=True,
                        stateful=True,
                        recurrent_initializer='glorot_uniform')

1 个答案:

答案 0 :(得分:0)

文档错误。我遵循TensorFlow文档中的步骤,但是设置stateful=False时,经过混洗的数据会得到更好的结果。