You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 10环境下TensorFlow如何快速切换CPU与GPU运行?

快速切换TensorFlow 1.x(Windows环境)CPU/GPU运行模式的方法

针对你的Windows 10 + Python 3.5 + TensorFlow-gpu 1.0.0的配置,我整理了几个亲测有效的切换方案,解决你之前设置CUDA_VISIBLE_DEVICES无效的问题:

1. 全局强制使用CPU(最直接的方法)

如果你想全程用CPU跑代码,可以在创建Session时通过配置禁用GPU设备:

import tensorflow as tf

# 配置TensorFlow不使用任何GPU
config = tf.ConfigProto(device_count={'GPU': 0})
# 初始化会话
sess = tf.Session(config=config)

# 验证设备(可选)
from tensorflow.python.client import device_lib
print("当前可用设备:")
print(device_lib.list_local_devices())

运行后如果输出里只有CPU相关设备,就说明切换成功了。

2. 正确设置CUDA_VISIBLE_DEVICES(Windows下的关键时机)

你之前设置后无效,大概率是导入TensorFlow之后才设置的环境变量——TensorFlow在导入时就会初始化GPU设备,后续再改环境变量就不起作用了。正确的姿势是:

import os
# 必须在导入TensorFlow之前设置!
# '-1'表示隐藏所有GPU,强制用CPU;如果要指定某块GPU,填对应的编号(比如'0')
os.environ['CUDA_VISIBLE_DEVICES'] = '-1'

# 之后再导入TensorFlow
import tensorflow as tf

# 验证设备
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

Windows系统完全支持这个环境变量,只要时机对,就能生效。

3. 精细化控制单段代码的运行设备

如果只是部分代码需要切换CPU/GPU,可以用tf.device()上下文管理器指定:

import tensorflow as tf

# 这段代码强制在CPU上运行
with tf.device('/cpu:0'):
    x = tf.constant([1.0, 2.0, 3.0])
    y = tf.constant([4.0, 5.0, 6.0])
    cpu_result = tf.multiply(x, y)

# 这段代码优先在GPU上运行(如果GPU可用)
with tf.device('/gpu:0'):
    a = tf.constant([7.0, 8.0, 9.0])
    b = tf.constant([10.0, 11.0, 12.0])
    gpu_result = tf.add(a, b)

sess = tf.Session()
print("CPU运算结果:", sess.run(cpu_result))
print("GPU运算结果:", sess.run(gpu_result))

这种方式适合处理一些GPU不支持的操作,或者想手动分配计算任务的场景。


额外注意事项

  • 你的TensorFlow版本是1.0.0,属于TF1.x分支,TF2.x的tf.config系列API在这个版本里不存在,所以上面的方法都是专门适配TF1.x的。
  • 如果切换后还是有问题,可以检查CUDA和cuDNN的版本是否和TF1.0.0完全匹配——你当前的CUDA8.0 + cuDNN5.1是完全符合TF1.0.0的要求的,所以配置本身没问题。

内容的提问来源于stack exchange,提问作者David Skarbrevik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:07:28