2016-07-16 41 views
2

使用类似于https://github.com/tensorflow/models/tree/master/inception的设置,首席工作人员会自动将检查点文件定期保存在运行此进程的节点上。我在两个不同的节点上运行两个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作为单个文件来防止节点数量稍后改变?

回答

0

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

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

另一种方法是启动psworker其task_index = 0在同一台机器上。

+0

hdfs不是一个选项。 task_index并不重要,因为每台机器上的每个ps都必须恢复它应该管理的模型参数的一部分。 – Muneeb

相关问题