【问题标题】:Tensorflow: loading, saving timeTensorflow:加载,节省时间
【发布时间】:2017-04-18 10:46:57
【问题描述】:

我有四个具有相同结构的不同模型,它们被用作“主要”问题的预测器。每次在“主要”问题中,我都会调用其中一个来提供预测。此外,使用新的观察,我更新了每个网络的权重。

目前,为了区分模型,我将它们保存在四个不同的ckpt 模型中,然后我每次都加载它们以进行预测或更新。网络更新后,我再次保存。

这个程序效果很好。问题是初始化变量、加载模型并再次保存它太昂贵了。每次调用网络进行更新,大约需要 10 秒,其中大约 1 秒用于训练,时间提醒用于初始化、加载和保存。

作为另一种方法,我尝试让模型留在内存中。但是,由于我有一个dnn.py,我为四个问题中的每一个都称为它,因此变量、参数等的名称是相同的。所以,TensorFlow 对它们感到困惑,它就是行不通的。 由于我可能有四个以上的预测变量(甚至像 22 个),因此创建四个具有不同变量名称的不同 dnn.py 是不合理的。

如果能以有效的方式编写程序,我将不胜感激。

最好的,

阿夫辛

【问题讨论】:

  • 为每个训练步骤从磁盘读取变量听起来效率低下,您应该重新组织网络以将这些值保存在内存中,即使用 variable_scope 将不同的变量集分开
  • 嗨,@YaroslavBulatov - 你能把它复制到答案中吗?谢谢!

标签: tensorflow resuming-training


【解决方案1】:

为每个训练步骤从磁盘读取变量听起来效率低下,您应该重新组织网络以将这些值保存在内存中,即使用 variable_scope 将不同的变量集分开

【讨论】:

    猜你喜欢
    • 2013-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-07
    • 2018-02-07
    相关资源
    最近更新 更多