在TensorFlow中,我希望在不同的机器上的不同工作人员之间共享一个文件名队列,这样每台机器都可以获得要训练的文件子集.我搜索了很多,似乎只有变量可以放在PS任务上进行共享.有没有人有任何例子?谢谢.
mrr*_*rry 16
通过shared_name在创建队列时设置可选参数,可以跨工作程序共享相同的队列.与tf.Variable对象一样,您可以将队列放在可以从不同工作人员访问的任何设备上.例如:
with tf.device("/job:ps/task:0"): # Place queue on parameter server.
q = tf.FIFOQueue(..., shared_name="shared_queue")
Run Code Online (Sandbox Code Playgroud)
几点说明:
值shared_name必须对您共享的特定队列是唯一的.遗憾的是,Python API目前不使用作用域或自动名称统一来使这更容易,因此您必须手动确保这一点.
您不需要将队列放在参数服务器上.一种可能的配置是设置附加的"输入作业"(例如"/job:input"),其包含执行预处理的一组任务,并导出供工作人员使用的共享队列.
| 归档时间: |
|
| 查看次数: |
1132 次 |
| 最近记录: |