在 TensorFlow 中,可以使用以下代码来禁用 GPU:
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
这个代码将环境变量 CUDA_VISIBLE_DEVICES 设置为 -1,这将禁用所有可用的 GPU。这在一些情况下可能很有用,例如在测试代码时,或者在没有 GPU 的机器上运行代码。
下面是两个示例,展示了使用 TensorFlow-GPU 禁用 GPU 的过程和 CPU 与 GPU 速度对比。
示例1:使用 TensorFlow-GPU 禁用 GPU
import tensorflow as tf
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
# 构建计算图
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)
# 运行计算图
with tf.Session() as sess:
print(sess.run(c))
在这个示例中,我们首先导入 TensorFlow 和 os 模块。然后,我们使用 os.environ["CUDA_VISIBLE_DEVICES"] = "-1" 将环境变量 CUDA_VISIBLE_DEVICES 设置为 -1,这将禁用所有可用的 GPU。接下来,我们定义了两个张量 a 和 b,并将它们相乘得到一个新的张量 c。最后,我们使用 Session() 函数来运行 c。
示例2:CPU 与 GPU 速度对比
import tensorflow as tf
import time
# 使用 CPU 运行计算图
with tf.device('/cpu:0'):
a = tf.random.normal([10000, 1000])
b = tf.random.normal([1000, 2000])
start_time = time.time()
c = tf.matmul(a, b)
end_time = time.time()
print("CPU time: ", end_time - start_time)
# 使用 GPU 运行计算图
with tf.device('/gpu:0'):
a = tf.random.normal([10000, 1000])
b = tf.random.normal([1000, 2000])
start_time = time.time()
c = tf.matmul(a, b)
end_time = time.time()
print("GPU time: ", end_time - start_time)
在这个示例中,我们首先定义了两个张量 a 和 b,并将它们相乘得到一个新的张量 c。然后,我们使用 with tf.device('/cpu:0') 将计算图分配到 CPU 上,并使用 time 模块来计算 CPU 运行时间。接下来,我们使用 with tf.device('/gpu:0') 将计算图分配到 GPU 上,并使用 time 模块来计算 GPU 运行时间。最后,我们将 CPU 和 GPU 运行时间打印出来。
注意:在运行这个示例之前,需要确保已经安装了 TensorFlow-GPU,并且已经正确配置了 GPU。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用Tensorflow-GPU禁用GPU设置(CPU与GPU速度对比) - Python技术站