- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在此 post ,有人提到:
Also, there's no built-in distinction between worker and ps devices -- it's just a convention that variables get assigned to ps devices, and ops are assigned to worker devices.
TL;DR: TensorFlow doesn't know anything about "parameter servers", but instead it supports running graphs across multiple devices in different processes. Some of these processes have devices whose names start with
"/job:ps"
, and these hold the variables. The workers drive the training process, and when they run thetrain_op
they will cause work to happen on the"/job:ps"
devices, which will update the shared variables.
ps
中做变量驻留在 CPU 或 GPU 上?此外,如果 "/job:ps"
是否有任何性能提升?驻留在 CPU 或 GPU 上? 最佳答案
Do variables in ps reside on the CPU or GPU? Also, are there any performance gains if "/job:ps" resides on CPU or GPU?
ps
工作到其中任何一个(有异常(exception),见下文),但将其固定到 GPU 是不切实际的。
ps
实际上是参数和操作的存储以更新它。 CPU 设备可以拥有比 GPU 多得多的内存(即主 RAM),并且足够快以在梯度出现时更新参数。在大多数情况下,矩阵乘法、卷积和其他昂贵的操作由工作人员完成,因此放置了
worker
在 GPU 上是有道理的。
ps
的放置给 GPU 是一种资源浪费,除非
ps
工作是做一些非常具体和昂贵的事情。
i
时,以下代码将失败在 GPU #0 上:
with tf.device("/gpu:0"):
i = tf.Variable(3)
with tf.Session() as sess:
sess.run(i.initializer) # Fails!
Could not satisfy explicit device specification '/device:GPU:0'
because no supported kernel for GPU devices is available.
Do the lower level libraries decide where to place a variable or operation?
tf.device
将节点固定到设备上,放置器将其放置在该设备上。 关于tensorflow - 工作线程和参数服务器在分布式 TensorFlow 中的什么位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44014610/
我是一名优秀的程序员,十分优秀!