【问题标题】:Restoring checkpoint in distributed tensorflow在分布式张量流中恢复检查点
【发布时间】:2016-07-16 01:54:23
【问题描述】:

使用类似于https://github.com/tensorflow/models/tree/master/inception 的设置,首席工作人员会定期在运行此进程的节点上自动保存一个检查点文件。我在两个不同的节点上运行两个 ps。两个工人也在两个节点上分别运行,四分之一的工人是首席。

在没有任何修改的情况下重新开始训练时,Supervisor 会自动尝试恢复上一个 checkpoint 文件,但最终会报错,它在第二个节点(除了主工作人员之外的节点)上找不到 ckpt,因为Chief 从未将 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 作为单个文件,以防以后节点数量发生变化?

【问题讨论】:

    标签: tensorflow deep-learning


    【解决方案1】:

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

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

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

    【讨论】:

    • hdfs 不是一个选项。 task_index 无关紧要,因为每台机器上的每个 ps 都必须恢复它应该管理的部分模型参数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-05
    • 1970-01-01
    • 2018-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多