分布式tensorflow中检查点的恢复

分布式tensorflow中检查点的恢复,tensorflow,deep-learning,Tensorflow,Deep Learning,使用类似的设置,首席工作人员会定期在运行此进程的节点上自动保存检查点文件。我在两个不同的节点上运行两个ps。两个工人也分别在两个节点上运行,四分之一的工人是负责人 在不进行任何修改的情况下重新启动培训时,主管会自动尝试恢复最后一个检查点文件,但最终给出一个错误,即无法在第二个节点(除主工之外的节点)上找到ckpt,因为主工从未在第二个节点上保存ckpt W tensorflow/core/framework/op_kernel.cc:936] Not found: Unsuccessful Te

使用类似的设置,首席工作人员会定期在运行此进程的节点上自动保存检查点文件。我在两个不同的节点上运行两个ps。两个工人也分别在两个节点上运行,四分之一的工人是负责人

在不进行任何修改的情况下重新启动培训时,主管会自动尝试恢复最后一个检查点文件,但最终给出一个错误,即无法在第二个节点(除主工之外的节点)上找到ckpt,因为主工从未在第二个节点上保存ckpt

W tensorflow/core/framework/op_kernel.cc:936] Not found: Unsuccessful TensorSliceReader constructor: Failed to find any matching files for /home/muneebs/tf_train/model.ckpt-275

如果我将ckpt目录复制到第二个节点,它将恢复正常。是虫子吗?是否应将保护程序初始化为sharded=True?如果是这样的话,这是唯一的方法吗?我们不能将ckpt作为一个单独的文件,以防以后节点的数量发生变化?

hdfs这样的分布式文件系统会有所帮助

您可以将模型(ckpt)保存到hdfs中的一个目录中,从而避免了恢复ckpt的问题


另一种方法是在同一台机器上启动任务索引为0的ps工作者。task_索引并不重要,因为每台机器上的每个ps都必须恢复它应该管理的部分模型参数。