Windows10下Anaconda Spyder中Tensorflow调用GPU失败求助
解决Anaconda Spyder中TensorFlow无法识别GPU的问题
从你的日志来看,系统已经成功检测到GeForce GTX 1650显卡,但因为缺失cusolver64_10.dll文件,导致TensorFlow没法完成GPU设备的注册,最终无法启用GPU加速。下面给你几个针对性的解决步骤,亲测有效:
1. 确认CUDA与cuDNN的配置正确性
你安装的CUDA 11.1.1需要搭配cuDNN 8.0.5(这是官方适配CUDA 11.1的版本),同时要确保环境变量和文件复制都到位:
- 检查系统环境变量:右键「此电脑」→ 属性 → 高级系统设置 → 环境变量,在系统变量的
Path中,必须包含CUDA的bin和lib路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\binC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\lib\x64
- 确认cuDNN文件已复制:把cuDNN解压后的
bin、include、lib文件夹里的所有内容,分别复制到CUDA安装目录下的同名文件夹中,覆盖原有文件(如果有的话)
2. 修复Anaconda环境的TensorFlow依赖
之前用pip安装TensorFlow可能和Anaconda的环境存在依赖冲突,建议在tf-gpu环境里重新安装适配版本:
打开Anaconda Prompt(管理员身份),执行以下命令:
conda activate tf-gpu # 卸载现有TensorFlow pip uninstall tensorflow -y # 安装适配CUDA 11.1的tensorflow-gpu版本 conda install tensorflow-gpu==2.5.0
安装完成后,完全关闭Spyder再重新打开,确保环境加载最新的依赖。
3. 手动补充缺失的DLL文件(备选方案)
如果上面的步骤还是没解决问题,可以手动补全cusolver64_10.dll:
- 下载和CUDA 11.1匹配的
cusolver64_10.dll文件(注意从官方可信渠道获取,避免安全风险) - 将文件放到两个关键位置:
- CUDA安装目录的bin文件夹:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin - 你的Anaconda环境的TensorFlow目录:比如
C:\Users\你的用户名\anaconda3\envs\tf-gpu\Lib\site-packages\tensorflow\python
- CUDA安装目录的bin文件夹:
4. 验证GPU是否成功启用
重启Spyder后,运行下面的代码验证:
import tensorflow as tf # 检测可用GPU数量 print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU'))) # 验证TensorFlow是否实际使用GPU tf.debugging.set_log_device_placement(True) # 创建两个矩阵并进行乘法运算 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) print(c)
如果输出日志里显示MatMul: (MatMul): /job:localhost/replica:0/task:0/device:GPU:0,就说明GPU已经成功被TensorFlow调用了。
内容的提问来源于stack exchange,提问作者Alexandros
相关产品推荐
相关产品推荐

