【问题标题】:TensorFlow: Is it possible to restore checkpoint models for multi-gpu training?TensorFlow:是否可以为多 GPU 训练恢复检查点模型?
【发布时间】:2017-07-12 06:31:26
【问题描述】:

我目前正在使用一个主管,并且只构建了一个图表来使用来自 TF-slim 的预训练权重来执行迁移学习。我想知道是否有办法在一开始就将检查点模型恢复为多个推理模型?我主要担心的是,首先,在 TF 存储库上的 reference code 中定义的名称范围可能会导致预训练的变量由于名称不匹配而无法恢复。此外,鉴于我必须使用一个带有init_fn 的主管,它只接受一个恢复变量的保护程序,我怎么能有多个保护程序来将相同的变量恢复到多个 GPU(如果我什至需要多个保护程序)全部)。

我的一个想法是,也许我可以将变量恢复到一个图形,并让其他 GPU 使用同一个图形进行训练。但是,是否只有在第一个 GPU 完成后才能进行下一个 GPU 的训练?但这样一来,我也无法根据原始检查点模型变量名称恢复权重,除非我编辑检查点权重的名称。

【问题讨论】:

  • 您可以随时手动选择已保存变量的值并在运行时将其分配给您的图表。
  • 我可以知道执行此操作的过程是什么吗?另外,如果我在运行时恢复变量,而不是在运行模型之前先初始化它,会不会更慢?

标签: python machine-learning tensorflow deep-learning


【解决方案1】:

tensorflow documentation on saving and restoring variables 将您指向保护程序对象,允许您通过passing a dictionary from saved name to variable object when constructing the saver 指定将哪些已保存的变量恢复为哪些模型变量。

【讨论】:

    猜你喜欢
    • 2020-08-11
    • 2018-02-16
    • 1970-01-01
    • 2016-09-29
    • 1970-01-01
    • 2018-03-28
    • 2020-07-24
    • 2017-09-10
    • 2018-08-05
    相关资源
    最近更新 更多