nvidia-smi命令找不到或无输出,说明nvidia驱动未安装、安装失败或未重启生效,这是gpu环境最底层的失败信号;必须在宿主机终端(非docker、非wsl2内部)运行验证,linux需下载匹配驱动并sudo reboot,windows需确认设备管理器显示正确型号而非“基本显示适配器”。

nvidia-smi 命令找不到或无输出,说明 NVIDIA 驱动压根没装、安装失败,或没重启生效——这是整个链路最底层的失败信号。PyTorch 或 TensorFlow 后续所有检查都无意义。
为什么 nvidia-smi 找不到?
常见错误现象:bash: nvidia-smi: command not found,或执行后空白、卡住、提示 No devices were found。
- 必须在宿主机终端运行(不是 Docker 容器、不是 WSL2 子系统内部)
- Linux 用户:去 NVIDIA 官网下载匹配显卡型号和系统的驱动(2026 年推荐 ≥535.x),安装后务必执行
sudo reboot—— 驱动模块需内核重载 - Windows 用户:安装完也建议重启;若设备管理器中显示“Microsoft 基本显示适配器”,说明驱动未生效,需用 DDU 彻底卸载后重装
- 笔记本用户请进 BIOS 确认独显未被禁用;服务器用户需确认 PCIe 槽位供电达标
tf.config.experimental.list_physical_devices('GPU') 返回空列表
说明驱动已就绪,但 TensorFlow 无法链接 CUDA/cuDNN 库。关键不是 nvcc --version,而是 nvidia-smi 右上角显示的 CUDA Version: X.Y —— 它代表当前驱动能支持的最高 CUDA 运行时版本。
Python 3.14.2是Python编程语言在2025年12月5日发布的稳定版本,属于3.14系列的第二个维护更新。该版本包含了18项修复,重点解决了多进程、数据类及正则表达式等模块的回归问题,并修复了CVE-2025-12084等安全漏洞。此版本标志着自由线程模式(移除GIL)正式获得官方支持,是Python发展的重要里程碑。
- Windows 用户:TensorFlow ≥ 2.11.0 官方已移除 GPU 支持,必须降级到
tensorflow==2.10.0 - 该版本不自带 cuDNN,需手动将 cuDNN 的
bin目录加入系统PATH(例如cudnn-11.2-windows-x64-v8.9.7.29\cuda\bin) - Linux/WSL2 用户:需严格匹配版本(如 TF 2.13 对应 CUDA 12.2 + cuDNN 8.9),并确保
LD_LIBRARY_PATH指向 conda 或虚拟环境中的库路径(echo $LD_LIBRARY_PATH验证) - 别跳过“重启终端”这步 —— PATH 变更不会热加载到已有进程
WSL2 或 Docker 中 GPU 不可见
WSL2 本身不直连 GPU,依赖 Windows 宿主机驱动透传;Docker 容器则依赖 --gpus all 和设备节点挂载。两者都容易漏掉关键启动参数。
- WSL2:Windows 端驱动必须 ≥470.14,且执行
wsl --update --web-download+wsl --shutdown;然后在 WSL2 中运行nvidia-smi成功,才可继续装 TensorFlow - Docker:启动容器时必须加
--gpus all,不能只靠LD_LIBRARY_PATH或CUDA_HOME;宿主机的/dev/nvidiactl、/dev/nvidia-uvm、/dev/nvidia0必须被正确挂载 - 验证是否生效:进容器后先运行
nvidia-smi,再运行 Python 检查tf.config.experimental.list_physical_devices('GPU')
最容易被忽略的是:驱动版本与 CUDA 运行时版本的隐式约束关系 —— nvidia-smi 显示的 CUDA Version 是上限,不是你装了什么就一定能跑什么;而 TensorFlow 官方 wheel 包只绑定特定 CUDA 构建版本(比如 cu112、cu121),二者错配就会静默失败,不报错也不识别 GPU。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!










