1)一般不需要显示指定CPU还是GPU,TensorFlow能自动检测。
如果检测到GPU,TensorFlow会尽可能地利用找到的第一个GPU来执行操作。
如果机器上有超过一个可用的GPU,除第一个外的其他GPU默认是不参与计算的。为了让TensorFlow使用这些GPU,你必须将op明确指派给它们执行。with … Device语句用来指派特定的CPU或GPU执行操作:
with tf.Session() as sess:
with tf.device("/gpu:1"):
matrix1 = tf.constant([[3., 3.]])
matrix2 = tf.constant([[2.],[2.]])
product = tf.matmul(matrix1, matrix2)
设备用字符串进行标识. 目前支持的设备包括:
"/cpu:0": 机器的 CPU.
"/gpu:0": 机器的第一个 GPU, 如果有的话.
"/gpu:1": 机器的第二个 GPU, 以此类推.