Open da-liii opened 5 years ago
请问你解决这个问题了吗?我也遇到了这个问题,而且是evaluate和save的时候都有
好像第一个分配的worker 会先输出1 workers have finished ... 然后又输出0 workers have finished, 然后就开始死循环输出 2 workers have finished
目前根据log没发现什么问题,你可以参考下代码 https://github.com/alibaba/euler/blob/ff40594cfebfa55ada4a1142acbc020dab368d81/tf_euler/python/run_loop.py#L181 debug看一下得到的source是否正确
目前根据log没发现什么问题,你可以参考下代码 https://github.com/alibaba/euler/blob/ff40594cfebfa55ada4a1142acbc020dab368d81/tf_euler/python/run_loop.py#L181
debug看一下得到的source是否正确
chief worker 每次会必现 先 1 后 0 后22222的log 这是什么问题呢
把source相关的debug log发出来一些,只看目前的现象,还不好定位什么问题
试试把SyncExitHook去了,改成在最后sleep两分钟。
SyncExitHook的代码在这里。 只要保证在sleep的时间内 其他worker都能跑完各自的任务就可以了。
试试把SyncExitHook去了,改成在最后sleep两分钟。
这样可以正常结束了,但是
是不是有点太暴力了?
而且在train的时候不会出现这个问题,只有在eval和save的时候会出现。那个0出现的是不是有点奇怪?按理说hook里面是先执行+1的,怎么都不会出现0啊?我还打印了variable的名字,都是同一个
还有 不同时退出会有什么问题吗?
试试把SyncExitHook去了,改成在最后sleep两分钟。
Thanks! @yangsiran
试试把SyncExitHook去了,改成在最后sleep两分钟。
您好,我用最新版的master代码编译并分布式运行,分片数量为5,运行示例的dist_tf_euler.sh(2个ps,2个worker) ,train训练成功,evaluate仍然出现了该issue描述的无法退出的问题。worker0和worker1的日志一直输出“INFO:tensorflow:1 workers have finished ...”。请问该如何解决呢?
试试把SyncExitHook去了,改成在最后sleep两分钟。
您好,我用最新版的master代码编译并分布式运行,分片数量为5,运行示例的dist_tf_euler.sh(2个ps,2个worker) ,train训练成功,evaluate仍然出现了该issue描述的无法退出的问题。worker0和worker1的日志一直输出“INFO:tensorflow:1 workers have finished ...”。请问该如何解决呢?
self._num_finished_workers = tf.Variable(
0, name="num_finished_workers", collections=[tf.GraphKeys.LOCAL_VARIABLES])
def end(self, session):
session.run(self._finish_self)
num_finished_workers = session.run(self._num_finished_workers)
while num_finished_workers < self._num_workers:
tf.logging.info("%d workers have finished ...", num_finished_workers)
time.sleep(1)
num_finished_workers = session.run(self._num_finished_workers)
_num_finished_workers其他的worker怎么让这个变量变化吗?如果不变的话,num_finished_workers应该一直都是self._finish_self执行后的1吧?那不是死循环了吗?
试试把SyncExitHook去了,改成在最后sleep两分钟。
您好,我用最新版的master代码编译并分布式运行,分片数量为5,运行示例的dist_tf_euler.sh(2个ps,2个worker) ,train训练成功,evaluate仍然出现了该issue描述的无法退出的问题。worker0和worker1的日志一直输出“INFO:tensorflow:1 workers have finished ...”。请问该如何解决呢?
我也遇到这个问题,请问解决了吗?
worker0, worker1, worker2类似,后面就一直输出: