支持GPU的计算机上TensorFlow运算及指定代码是否自动执行于GPU?
TensorFlow GPU运算相关问题解答
问题1:在配备GPU的计算机上,TensorFlow的数组运算会自动在GPU上执行吗?
不一定。TensorFlow默认会优先尝试在GPU上执行运算,但需要满足以下条件:
- 安装的是支持GPU的TensorFlow版本,且系统已正确配置CUDA、CuDNN等GPU依赖组件;
- 该运算拥有对应的GPU内核实现(并非所有TensorFlow运算都支持GPU加速);
- 参与运算的张量被分配到GPU设备上(TensorFlow会自动将张量放置到默认设备,也可手动指定设备)。
如果以上条件不满足,运算会自动降级到CPU上执行。
问题2:给定代码中的第4行运算会自动在GPU上执行吗?
先看代码:
import tensorflow as tf print ("results") id= tf.eye(2,2) x= tf.matmul(id,id) #line 4 print (x)
如果你的TensorFlow已正确配置GPU环境(能检测到可用GPU),那么:
tf.eye会自动将生成的张量放在GPU设备上;tf.matmul是有成熟GPU内核实现的运算,因此第4行的矩阵乘法会自动在GPU上执行。
但如果GPU环境配置有误(比如CUDA版本不兼容、TF未检测到GPU),这段代码的所有运算都会在CPU上运行。
内容的提问来源于stack exchange,提问作者zell
相关产品推荐
相关产品推荐

