栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Tensorflow:在分布式培训中使用参数服务器

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Tensorflow:在分布式培训中使用参数服务器

TL; DR:
TensorFlow对“参数服务器”一无所知,但它支持在不同进程中跨多个设备运行图形。其中一些进程的设备名称以开头

"/job:ps"
,并且其中包含变量。工人负责培训过程,当他们运行培训过程时,
train_op
将导致
"/job:ps"
设备上发生工作,这将更新共享变量。

server.join()
方法只是告诉TensorFlow阻塞并监听请求,直到服务器关闭为止(这意味着它永远永久阻塞,或者直到您终止进程为止,因为当前尚未实现干净关闭)。

在我上一个答案的示例中,PS任务是被动的,并且一切都由…中的工作程序任务控制

##some training pre
。如果您将代码拆分到多个设备上,TensorFlow将添加适当的通信,这将扩展到不同进程中的设备。该
withtf.device(tf.train.replica_device_setter(...)):
块告诉TensorFlow通过将其设备设置为
"/job:ps/task:{i}"
(对于的不同值
{i}
,以循环方式选择)将每个变量置于不同的PS任务上。

当您调用时

sess.run(train_op)
,TensorFlow将运行一个依赖并更新变量的图,并包括更新变量的操作。这部分计算将在
"/job:ps"
设备上进行,因此这些设备将充当参数服务器。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/639440.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号