tensorflow学习笔记(二十):分布式注意事项

2019-05-26 12:31:32 浏览数 (1)

版本 tensorflow0.11.0

适用于 between-graph&synchronous

(1) 一定要指定 chief task

(2) chief task 要增加两个op:

代码语言:javascript复制
init_token_op = opt.get_init_tokens_op()
chief_queue_runner = opt.get_chief_queue_runner()

(3) chief task要执行上面两个op:

代码语言:javascript复制
sv.start_queue_runners(sess, [chief_queue_runner])
sess.run(init_token_op)

(4) 使用 sv.prepare_or_wait_for_session创建sess的时候,一定不要使用with block

代码语言:javascript复制
# wrong
with sv.prepare_or_wait_for_session(server.target) as sess:
  ...

会出现错误: 只有chief task在训练,other task一直打印start master session...,不知是什么原因.

代码语言:javascript复制
# right
sess = sv.prepare_or_wait_for_session(server.target)

(5) opt.minimize()opt.apply_gradients()的时候一定要传入global_step(用来同步的)

(6) 创建sv的时候,一定要传入logdir(共享文件夹).简便方法:传入log_dir = tempfile.mktemp()

0 人点赞