Tensorflow的单机模式是指client、master、worker全部在一台机器的同一个进程中。

而分布式版本则允许client、master、worker在不同机器的不同进程中,同时由集群调度系统统一管理各项任务。

tensorflow中每个work可以管理多个设备,每个设备的name包含硬件类别、编号、任务号(单机版没有)

比如,单机模式

/job:localhost/device:cpu:0

分布式模式

/job:worker/task:17/device:gpu:3

Tensorflow支持的设备包括x86架构CPU、ARM CPU、GPU、TPU(Tensor Processing Unit)

在只有一个硬件设备时,计算图会按照依赖关系被顺序执行。当依赖数为0时,该节点会被加入ready queue等待执行。

从单机单设备的版本改造为单机多设备版本非常容易,比如,从一块GPU训练改为多块GPU训练

for i in range(8):
  for d in range(4):
    with tf.device("/gpu:%d" % d):
      input=x[i] if d is 0 else m[d-1]
      m[d],c[d]=LSTMCell(input,mprev[d],cprev[d])
      mprev[d]=m[d]
      cprev[d]=c[d]

results matching ""

    No results matching ""