首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么分布式tensorflow时间线跟踪将QueueDequeue操作标记为PS操作?

为什么分布式tensorflow时间线跟踪将QueueDequeue操作标记为PS操作?
EN

Stack Overflow用户
提问于 2016-10-03 22:55:07
回答 1查看 531关注 0票数 2

我在AWS ubuntu机器集群上运行tensorflow分布式初始模型,并通过

代码语言:javascript
复制
# Track statistics of the run using Timeline
run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
run_metadata = tf.RunMetadata()

# Run
loss_value, step = sess.run([train_op, global_step], options=run_options, run_metadata=run_metadata)

# Create timeline and write it to a json file
tl = timeline.Timeline(run_metadata.step_stats)
ctf = tl.generate_chrome_trace_format()
with open('timeline%d.json' % FLAGS.task_id, 'w') as f:
f.write(ctf)

当我查看工作机器生成的时间线时,我会看到以下内容:工人机器的时间线跟踪

注意右边的QueueDequeue操作,时间线说它是/作业:ps/replica:0/task:0/cpu:0的一部分,参数服务器。

由于ScatterUpdate就在QueueDequeue之后,如图中所示,我相信此操作对应于同步副本优化器操作,其中工作人员试图排出令牌并执行分散更新:optimizer.py#L412

但是,如果是这样,工作人员应该执行此操作,而不是参数服务器。为什么时间线表示参数服务器正在执行此操作?

我使用的是tensorflow 0.11,只使用CPU。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-27 06:14:59

这似乎是正确的,排队列操作是在PS上执行的。只是该工作人员对此操作有依赖关系,这意味着该工作人员实际上正在等待一个成功的排队列。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39841675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档