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

TensorFlow 1.9.0虚拟环境无法识别GPU的原因及解决方法咨询

虚拟环境TF1.9.0无法识别GPU?看这篇解决就行

这问题我碰到过好几次,核心就是TensorFlow版本和CUDA版本不兼容,再加上旧TF版本对新GPU的支持不足导致的,给你拆解清楚并给几个可行的解决方案:

为啥会出现这问题?

你的标准环境用的TensorFlow 2.6.2,刚好适配系统的CUDA 11.5,而且支持A100这种计算能力8.0的新GPU,所以能正常识别。但你虚拟环境里的TensorFlow 1.9.0是2018年的老版本,它只支持CUDA 9.0,和你现在的CUDA 11.5差了好几个大版本,根本没法调用系统的CUDA库;另外,TF1.9.0发布的时候A100还没上市,原生就不支持计算能力8.0的GPU,这俩因素加起来,就导致虚拟环境里完全找不到GPU了。

具体怎么解决?给你四个方案选

方案1:虚拟环境内单独装适配的CUDA(最推荐,不影响其他环境)

不用动系统的CUDA,就在虚拟环境里装TF1.9.0要求的CUDA 9.0和cuDNN 7.0就行:

  • 如果是conda创建的虚拟环境,直接执行命令一步到位:
    conda activate 你的虚拟环境名
    conda install cudatoolkit=9.0 cudnn=7.0
    
  • 如果是pip创建的虚拟环境,得手动下载CUDA 9.0的runfile(选择“仅提取不安装”),然后在虚拟环境里设置环境变量CUDA_HOME指向提取后的路径,再把cuDNN 7.0的文件放到对应的lib/include目录里,最后重启环境就行。

方案2:升级TF1.x到支持CUDA11.5的版本

如果你的项目代码能兼容更高版本的TF1.x,直接升级到TensorFlow 1.15.5(TF1.x的最终稳定版),它支持CUDA 10.1/10.2,也能兼容CUDA 11.x,同时对A100的支持也更好:

pip install tensorflow-gpu==1.15.5

装完之后运行下面的代码验证:

import tensorflow as tf
print(tf.test.is_gpu_available())
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

要是还不行,就再装个cuDNN 7.6.x(对应TF1.15.5的版本)。

方案3:把项目代码迁移到TF2.x(长期最优解)

如果能改代码,直接在标准环境里用TF2.6.2跑是最省心的——毕竟TF2.x的生态和维护性都比TF1.x强太多。大部分TF1.x的代码可以用tf.compat.v1兼容,比如开头加两行:

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

这样旧代码基本不用大改就能跑,还能直接用你的A100和CUDA11.5。

方案4:降级系统CUDA到9.0(不推荐)

这个方案会破坏你标准环境里TF2.6.2的运行,因为TF2.6.2不支持CUDA9.0,除非你整个系统只用来跑这个TF1.9.0的项目,否则别选这个。

最后验证

不管用哪个方案,配置完之后都在虚拟环境里跑这段代码确认:

import tensorflow as tf
print("TF版本:", tf.__version__)
print("GPU可用:", tf.test.is_gpu_available())
print("本地设备列表:")
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

要是输出里能看到GPU设备,且GPU可用显示True,就说明搞定了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 18:17:49