【问题标题】:Training changing input size RNN on Tensorflow在 Tensorflow 上训练改变输入大小的 RNN
【发布时间】:2018-09-26 22:04:40
【问题描述】:

我想训练一个具有不同输入大小的句子 X 的 RNN,没有填充。用于此的逻辑是我使用全局变量,并且对于每一步,我都会举一个例子,编写前向传播,即构建图形,运行优化器,然后用另一个例子再次重复该步骤。与我已经实现前向和反向传播并使用与上述相同的逻辑的同一事物的 numpy 实现相比,该程序非常慢。 numpy 的实现需要几秒钟,而 Tensorflow 非常慢。在 GPU 上运行相同的东西会有用还是我犯了一些逻辑错误?

【问题讨论】:

    标签: python numpy tensorflow machine-learning rnn


    【解决方案1】:

    作为一般准则,GPU 仅在您具有计算密集型代码和少量数据传输的情况下才能提高性能。换句话说,如果你一次训练你的模型一个实例(或小批量),数据传输到/从 GPU 的开销甚至会使你的代码运行得更慢!但如果你输入大量样本,那么 GPU 肯定会提升你的代码。

    【讨论】:

    • 当我在训练过程中添加额外的 session.run() 语句来打印一些值时,代码变得更加缓慢。
    • 您可能希望使用FileWriterTensorBoard 来获得对性能影响最小的输出。
    猜你喜欢
    • 2019-04-12
    • 1970-01-01
    • 1970-01-01
    • 2017-09-18
    • 2018-07-25
    • 1970-01-01
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多