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

Ubuntu24.04.1下TensorFlow2.14.1已装CUDA却无法检测GPU

解决TensorFlow 2.14.1无法检测GPU但nvidia-smi正常的问题

问题原因解析

nvidia-smi能识别GPU只说明NVIDIA驱动已正确安装,但TensorFlow需要依赖CUDA Toolkit和cuDNN才能调用GPU。出现的警告和检测不到GPU的问题,本质是TF找不到匹配的CUDA环境,或是存在依赖冲突。

具体解决步骤

1. 核对TensorFlow与CUDA/cuDNN的版本匹配

TensorFlow 2.14.1要求:

  • CUDA Toolkit 11.8
  • cuDNN 8.6

执行以下命令检查当前系统的CUDA版本:

nvcc --version

如果版本不是11.8,需要卸载现有CUDA,安装对应版本的CUDA Toolkit(注意CUDA11.8要求驱动版本≥450.80.02,可通过nvidia-smi查看驱动版本)。

2. 配置CUDA环境变量

即使安装了CUDA,Python进程可能无法读取到路径,需要手动配置环境变量:
打开~/.bashrc或~/.zshrc(根据你使用的shell),添加以下内容:

export PATH=/usr/local/cuda-11.8/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

保存后执行以下命令生效:

source ~/.bashrc

重启终端后,验证路径是否生效:

echo $PATH
echo $LD_LIBRARY_PATH

3. 解决cuDNN重复注册错误

Unable to register cuDNN factory错误是因为存在多个cuDNN版本冲突:

  • 确保系统安装的cuDNN版本为8.6(对应CUDA11.8),卸载多余版本
  • 如果是通过pip安装的TensorFlow,可尝试卸载后用conda安装(conda会自动匹配CUDA/cuDNN依赖):
    pip uninstall tensorflow
    conda install tensorflow==2.14.1
    

4. 验证TensorFlow的GPU检测

配置完成后,重新打开Python终端执行:

import tensorflow as tf
physical_devices = tf.config.list_physical_devices('GPU')
print("Num GPUs:", len(physical_devices))

如果输出Num GPUs: 1(或对应你的GPU数量),说明问题解决。

额外排查点

  • 如果Ubuntu 24.04的内核版本过高,可能导致CUDA11.8兼容性问题,可尝试升级NVIDIA驱动到最新稳定版,或切换到兼容的内核版本
  • 检查是否有其他进程占用GPU,执行nvidia-smi查看GPU使用情况,确保资源空闲

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 17:16:07