【问题标题】:Training tensorflow RNN with large datasets使用大型数据集训练 tensorflow RNN
【发布时间】:2016-06-29 14:32:42
【问题描述】:

我正在使用 TensorFlow 训练 RNN。使用的函数是来自https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/ops/rnn.py 的“rnn”。

outputs, states = rnn.rnn(cell, inputs, initial_state=initial_state, sequence_length=seq_length)

我使用这个函数的原因是因为我的数据序列是可变长度的。此函数期望一次加载所有数据。由于我的数据不能一次全部放入内存,我需要逐个加载数据。任何有关如何完成的指示将不胜感激。

谢谢

【问题讨论】:

    标签: python tensorflow deep-learning recurrent-neural-network


    【解决方案1】:

    这里的标准做法是将您的数据分解成块并一次处理一个块。例如,如果您正在处理文本,您可能会将数据分解为句子,然后将 10 到 100 句的小批量句子一次传递给训练过程。

    有关如何执行此操作的示例,请查看此 RNN 教程。

    https://www.tensorflow.org/versions/r0.9/tutorials/recurrent/index.html

    教程文本本身并没有详细描述分块,但请看一下 github 中的相关代码,看看它是如何加载其输入数据并对其进行批处理以进行训练的。

    https://github.com/tensorflow/tensorflow/tree/master/tensorflow/models/rnn/ptb

    希望有帮助!

    【讨论】:

    • 感谢您的回答。我还发现,如果您的数据具有大序列,则在 rnn.py 中使用 dynamic_rnn 非常有用。
    猜你喜欢
    • 1970-01-01
    • 2019-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-23
    • 2017-09-18
    • 2021-05-13
    • 2020-10-19
    相关资源
    最近更新 更多