python - TensorFlow:是否可以恢复多 GPU 训练的检查点模型?

标签 python machine-learning tensorflow deep-learning

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

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

最佳答案

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

关于python - TensorFlow:是否可以恢复多 GPU 训练的检查点模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42387584/

相关文章:

machine-learning - 在 Q 学习中添加约束并在违反约束时分配奖励

machine-learning - 使用带有测试训练分割的 DBSCAN 进行分类

python - 对keras中的部分张量应用不同的损失函数

Tensorflow Enqueue 操作被取消

python - 如何在线托管数据库

python - 在 Python 中自省(introspection)构造函数 __init__ 的参数

machine-learning - 玩 Atari Breakout 时,简单策略梯度 (REINFORCE) 会过度拟合某个操作

python - Tensorflow:使用稀疏占位符恢复模型

python - 检测图像的最外边缘并基于它进行绘图

python - Ubuntu 16.04,Python 2.7 - 导入错误 : No module named enum