测试tensorflowGPU是否运行
对于tensorflow 1.x版本
测试 代码
.
import tensorflow as tf
import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ['CUDA_VISIBLE_DEVICES'] = "0"
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
print(sess.run(c))
对于tensorflow 2.x版本
测试 代码
.
import tensorflow as tf
import os
tf.compat.v1.disable_eager_execution() # 保证sess.run()能够正常运行
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ['CUDA_VISIBLE_DEVICES'] = "0"
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
# 对于tensorflow 2.0版本,需要用tf.compat.v1.Session()替代tf.Session()`
sess = tf.compat.v1.Session(config=tf.compat.v1.ConfigProto(log_device_placement=True)) # 版本2.0的函数
print(sess.run(c))
显示类似如下结果则证明GPU被成功调用
主要看device后面是GPU还是CPU
MatMul: (MatMul): /job:localhost/replica:0/task:0/device:GPU:0
a: (Const): /job:localhost/replica:0/task:0/device:GPU:0
b: (Const): /job:localhost/replica:0/task:0/device:GPU:0
[[22. 28.]
[49. 64.]]
Process finished with exit code 0