部署前先确认目标是运行现成的深度学习框架,还是要编译 CUDA 程序;两者需要的组件并不完全相同。下面按可检查、可回退的顺序说明 CUDA驱动与深度学习环境部署流程,涵盖 Windows 与 Ubuntu 常见做法。
先分清驱动、Toolkit 和框架
NVIDIA 显卡驱动负责让操作系统与显卡通信;CUDA Toolkit 提供编译器、开发库等工具;深度学习框架则调用 CUDA 运行环境执行计算。三者版本需要兼容,但不必一律安装成相同版本。
特别要注意,运行 nvidia-smi 显示的 CUDA Version,表示当前驱动可支持的 CUDA 版本上限,并不等于本机已安装对应版本的 Toolkit。只有需要编译 CUDA 源码或使用依赖本机 CUDA 开发工具的扩展时,才通常需要额外安装 Toolkit。
按顺序完成安装
第一步:核对硬件与系统
- 确认机器配有 NVIDIA GPU,并记录显卡型号、操作系统版本及系统架构。
- 查看要使用的框架及其官方安装说明,确定支持的操作系统、驱动要求和 CUDA 构建版本。框架发布的安装包可能已包含运行所需的 CUDA 库。
- 若是远程服务器,先确认你有管理员权限和重启窗口;安装或更新驱动通常需要重启。
第二步:安装显卡驱动
Windows 可从 NVIDIA 官方渠道获取适用于显卡型号和系统版本的驱动安装程序,按提示安装后重启。Ubuntu 桌面或服务器可先运行 ubuntu-drivers devices 查看系统建议,再使用 Ubuntu 提供的驱动安装方式;若要使用 NVIDIA 官方仓库,也应按其针对当前 Ubuntu 版本的说明操作。不要同时混装来源不明的驱动包。
重启后运行 nvidia-smi。如果能看到 GPU 型号、驱动版本和运行状态,说明驱动已被系统识别;如果提示无法与驱动通信,先检查驱动安装结果、内核模块状态以及是否确实装有 NVIDIA 显卡。

第三步:创建独立的 Python 环境
- 安装合适的 Python 版本,并用 Conda 或 Python 自带的 venv 为项目创建隔离环境,避免不同项目互相改动依赖。
- 到所选框架的官方安装页面,按操作系统、包管理工具和 CUDA 构建选项生成安装命令。复制命令前再次核对驱动兼容条件,不要直接套用旧教程中的固定版本号。
- 如果要编译 CUDA 程序,再安装与项目要求匹配的 CUDA Toolkit,并确认终端中的 nvcc --version 能显示编译器版本。普通框架推理或训练若不需要编译,通常可先不装 Toolkit。
验证环境是否真正可用
先检查 nvidia-smi 是否正常,再在已激活的 Python 环境中导入框架,查询其 CUDA 构建信息及 GPU 是否可见。以 PyTorch 为例,可运行 python -c "import torch; print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'CUDA unavailable')"。结果为 True 且能返回设备名称,表示框架已找到可用 GPU;这一步不能替代实际任务测试,仍应运行项目自己的最小训练或推理样例。
如果驱动正常但框架检测不到 GPU,优先确认安装包是否为支持 CUDA 的构建、Python 环境是否激活,以及驱动是否满足该构建要求。若需要编译扩展,再检查 Toolkit、nvcc 路径和编译器版本。排查时一次只改一个组件,并记录变更前后的版本,避免反复覆盖安装。
本地部署还是云端部署
已有兼容显卡、需要频繁调试或处理本地数据时,本机安装通常更直接,也便于离线工作;缺少合适硬件、希望按需使用 GPU 服务器时,可以考虑云端方案。若任务需要远程 GPU 主机和持续维护环境,可了解德讯电讯的相关服务器服务,并在下单前核对可用 GPU、系统镜像、驱动管理方式及计费条件;具体配置应以服务方公开信息为准。
常见问题
只装驱动,不装 CUDA Toolkit,可以运行框架吗?
有时可以。若框架安装包已提供所需运行库,且驱动满足兼容条件,通常不必单独装 Toolkit;是否适用以框架安装说明为准。
nvidia-smi 显示的 CUDA 版本和 nvcc 版本不同,正常吗?
可能正常。前者反映驱动支持能力,后者显示本机 Toolkit 编译器版本,两者含义不同,不能只靠数字相同判断环境是否正确。
系统更新后 GPU 突然不可用怎么办?
先重新运行 nvidia-smi,确认驱动是否加载;再检查系统内核更新是否导致驱动模块未正确构建。必要时依照当前系统和驱动发行方的恢复说明重新安装并重启。
按“核对要求、装驱动、建独立环境、验证设备”的顺序推进,能减少版本冲突。记录操作系统、驱动、Toolkit 和框架版本,也会让这套 CUDA驱动与深度学习环境部署流程更容易复现和维护。