资讯详情

资讯详情

CUDA与N卡驱动安装全指南:从PyTorch GPU加速到环境配置避坑

自己前后配了三台跑深度学习的机器从笔记本的 GTX 1650 到台式机的 RTX 4060 TiCUDA 和 N 卡驱动这套东西反反复复装了不下二十遍。每次看到群里还有人问“我驱动装好了为什么 PyTorch 还是用不了 GPU”“CUDA 到底要不要装”“装完显示代码 43 是什么鬼”我就觉得有必要把这套东西彻底写清楚。这篇东西不搞虚的就是把我这几年的安装经验、踩坑记录和排查思路全部倒出来从驱动和 CUDA 的关系讲起把 Windows 和 Linux 两套环境的实操流程都过一遍最后整理一份可以直接照着查的常见问题速查表。无论你是刚入门的本科生、做视觉方向的研究生还是要在服务器上部署环境的工程师只要你的机器有 N 卡这篇就能帮你少走大半弯路。1. CUDA 与 N 卡驱动先搞清楚你到底在装什么1.1 驱动和 CUDA Toolkit 到底是什么关系这是新手最容易混淆的地方。很多人以为装完 NVIDIA 驱动就等于装好了 CUDA结果跑代码的时候torch.cuda.is_available()返回 False就开始怀疑人生。实际上驱动和 CUDA Toolkit 是两个独立的组件它们的职责完全不同。显卡驱动是操作系统和 GPU 硬件之间的翻译官它负责把系统的图形调用比如游戏画面、桌面渲染转成 GPU 能执行的指令。而 CUDA Toolkit 是给开发者用的并行计算开发包里面包含编译器nvcc、运行时库、GPU 加速库如 cuBLAS、cuFFT、cuDNN以及各种头文件和工具。简单打个比方驱动是路CUDA Toolkit 是跑在路上的车。路都没有车肯定跑不了但只有路没有车你也哪儿都去不了。这里的核心逻辑是驱动向下兼容。也就是说高版本的驱动能够支持旧版本的 CUDA Toolkit但反过来不行。驱动版本本质上是一个“最低门槛”只要你的驱动版本高于某个 CUDA 版本所需要的下限这个 CUDA 版本就能正常工作。比如 CUDA 11.8 要求驱动版本不低于 520.06Windows 下你装个 545 甚至更高的驱动11.8 照样能用。1.2 为什么不同显卡有不同的 CUDA 版本支持GPU 硬件架构决定了它支持哪些 CUDA 特性。NVIDIA 的 GPU 架构从 Kepler、Maxwell、Pascal、Volta、Turing、Ampere 一路走到 Ada Lovelace每个架构对应不同的计算能力Compute Capability形如 5.0、6.1、7.5、8.6、8.9 这种编号。比如 GTX 1650 是 Turing 架构计算能力 7.5RTX 4060 Ti 是 Ada Lovelace 架构计算能力 8.9。高版本的 CUDA Toolkit 在新架构上能发挥更好的性能但关键问题是老卡不能装太旧的 CUDA吗不是恰恰相反太新的 CUDA 可能不支持太老的架构。CUDA 12.x 已经放弃了对 Maxwell 和 Pascal 架构的部分支持如果你手里是 GTX 10 系或者更老的卡老老实实用 CUDA 11.x 是更稳妥的选择强行装 CUDA 12 可能连设备都识别不到。另外NVIDIA 从 Ampere 架构开始在消费级显卡上对数据中心特性做了一些物理区分比如砍掉了部分双精度算力。但这不影响 CUDA 版本的选择只要驱动匹配、计算能力在 CUDA 的支持列表里跑深度学习训练和推理都没问题。1.3 从 CUDA 12.8 到老版本版本选择的三个判断维度现在网上最热的关键词是 CUDA 12.8配上 cuDNN 9.x已经是 2025 年初的主流组合。但我不建议你盲目追新判断该装哪个版本主要看三个维度。第一是框架要求。PyTorch 官方会明确宣布每个版本支持的 CUDA 版本集合比如 PyTorch 2.x 系列官方轮子一般提供 cu118、cu121、cu124 这类版本标签。你装的 CUDA Toolkit 最好和 PyTorch 预编译的 CUDA 版本匹配不匹配虽然也能跑因为 PyTorch 的二进制已经静态链接了部分 CUDA 库但会碰到各种奇怪的 ABI 兼容问题。第二是硬件代际。前面说了老架构别硬上新高版本 CUDA。RTX 20 系以下显卡推荐 CUDA 11.xRTX 30 系和 40 系可以愉快地用 CUDA 12.x。除非你明确知道自己需要新特性否则选择的版本“够用就好”。第三是编译工具链。CUDA 自带的nvcc编译器对 Visual Studio 和 GCC 的版本有明确要求。Windows 下装 CUDA 12 需要 VS 2022 的编译工具Linux 下CUDA 11.x 要求 GCC 不超过 10CUDA 12.x 支持 GCC 12。这个在后面安装时会遇到我必须提前告诉你。2. 安装前的准备工作老手也会翻车的三个细节2.1 确认硬件型号、操作系统和驱动版本需求动手前先花五分钟收集信息能省下后面折腾俩小时的力气。我会按这个顺序来摸底在 Windows 上打开“设备管理器”展开“显示适配器”记下你的确切 GPU 型号注意区分 GTX 1650 和 GTX 1650 Super它们虽然名字接近但架构不同一个是 TU117一个是 TU116。然后按Win R输入dxdiag在“显示”选项卡里能看到驱动版本号如果显示的是较老的版本说明系统很久没更新过驱动了。在 Linux 上用lspci | grep -i nvidia查看显卡总线信息用nvidia-smi如果能运行直接看右上角的 Driver Version 和 CUDA Version 字段。这里有个细节容易误导人nvidia-smi显示的 CUDA Version 是驱动所支持的最高 CUDA 版本不代表你已经安装了 CUDA Toolkit。如果nvidia-smi都提示找不到命令说明驱动还没装好。拿到这些信息之后去 NVIDIA 官网的驱动搜索页面选择你的显卡型号和操作系统。官方驱动页面会直接给出推荐版本号。注意笔记本用户优先考虑“笔记本”版本驱动NVIDIA 为笔记本提供专用驱动包虽然桌面版驱动有时也能强装但容易把 Optimus 双显卡切换搞坏。2.2 用 DDU 彻底清理旧驱动为什么这一步省不得如果你之前安装过 NVIDIA 驱动尤其是反复升级过多次我强烈建议在安装新驱动前用 DDUDisplay Driver Uninstaller清理一遍。网上很多“装完驱动显示代码 43”“驱动装不上”“N 卡更新后闪退”的问题根源就是旧驱动的残留文件和新驱动冲突。DDU 的用法不算复杂但有几个关键细节。第一步去 DDU 官网下载最新版同时准备一个显卡驱动的安装包放在本地。第二步断网。这一步特别重要因为 Windows 会自动联网安装匹配的驱动和 DDU 的清理过程打架。第三步重启进入安全模式运行 DDU选择“Clean and restart”选项。DDU 会卸载 NVIDIA 驱动、清理注册表项、删除残留的驱动文件夹然后自动重启。重启后不要急着联网直接运行你准备好的驱动安装包选择“自定义安装”勾选“执行清洁安装”。这个组合拳打完驱动才是真正干净的。我个人的习惯是每次更换大版本驱动比如从 5xx 升到 6xx之前必做一次 DDU小版本升级则看心情但如果遇到显示异常、游戏闪退DDU 永远是我的第一张牌。2.3 查询官方兼容矩阵的实操方法很多人不知道 NVIDIA 官方为每个 CUDA 版本都发布了一张“驱动兼容性表”也就是 CUDA Toolkit 文档里那个 “Toolkit Version vs. Minimum Driver Version” 的表格。这张表解决了一个最核心的问题我装了这个驱动到底能跑哪些 CUDA 版本打开方式很简单百度搜索 “CUDA Toolkit Documentation”进入对应版本的文档页面在 “Release Notes” 或 “Installation Guide” 里找 “Minimum Required Driver Versions” 一节。表格的每一行是一个 CUDA 版本每一列是操作系统Windows、Linux、WSL 等交叉点就是该 CUDA 版本在该系统上要求的最低驱动版本。我举个实际例子如果你装的是 551.86 驱动查表可知它支持 CUDA 12.4 及更低版本。如果你试图使用需要 560 以上驱动的 CUDA 12.6那运行时会报 “CUDA_ERROR_INSUFFICIENT_DRIVER”。这种问题不是 CUDA 装错了纯粹是驱动版本不够新升级驱动就能解决。3. Windows 环境安装全流程实录从驱动到 PyTorch 一次跑通3.1 第一步安装 NVIDIA 显卡驱动并验证是否成功Windows 下安装驱动我推荐从官网下载 GeForce Game Ready 驱动或 Studio 驱动。做深度学习和内容创作的人我更推荐 Studio 驱动它针对 Adobe 全家桶和 AI 应用做了优化测试稳定性优先Game Ready 驱动则不定期优化新游戏首发对生产力场景没有额外加成。两者在 CUDA 计算底座上没有本质区别选哪个看你的主要用途。下载得到 exe 文件后双击运行。安装类型选择“自定义”然后在组件列表里只保留“显卡驱动程序”和“NVIDIA GeForce Experience”如果不需要录屏和自动优化也可以取消勾选GPU 驱动相关的组件必须保留其余的 HD 音频驱动、USB-C 驱动等可以按需去掉。记得勾选“执行清洁安装”这个选项会删除旧版本设置并以默认值重新安装。安装过程大约需要五到十分钟期间屏幕可能会闪烁几次这是正常的。装完后用nvidia-smi验证打开命令行输入nvidia-smi如果能显示 GPU 名称、显存容量和驱动版本驱动就算装成功了。我习惯同时看驱动版本下面的 “CUDA Version” 字段这个数值代表当前驱动最高支持到哪个 CUDA 版本记下来后面选 CUDA 版本时有大用。3.2 第二步安装 CUDA Toolkit 与验证 nvcc 是否生效驱动装好之后按需下载 CUDA Toolkit。去 NVIDIA 官网的 “CUDA Toolkit Archive” 页面能找到所有历史版本。这里我不推荐直接点“Latest Version”盲目下载因为 PyTorch 官方安装命令指定的 CUDA 版本往往滞后于最新版。假设你的驱动支持到 CUDA 12.4那就下载 CUDA Toolkit 12.4 版本。安装方式选“自定义”组件里默认会勾选 CUDA 的所有子组件、驱动和 Visual Studio Integration。我建议把“Display Driver”的勾去掉因为驱动你已经装好了再装一遍纯属浪费。其他的组件全部保持默认即可。装完最重要的验证项是nvcc -V命令。如果在命令行里提示找不到命令多半是因为安装程序没有把 CUDA 的 bin 目录加进 PATH。默认安装路径是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4你需要手动把...\bin和...\libnvvp加入系统 PATH。加入后重开一个终端窗口务必重开因为 PATH 是会话初始化时读取的再执行nvcc -V应该能看到版本信息。另外一个验证方法是编译 CUDA Samples。虽然这不是强制步骤但对排查环境问题非常有帮助。在安装目录的extras\CUPTI或者官方 GitHub 下载 sample 工程用 Visual Studio 打开Samples.sln编译其中的deviceQuery项目运行后如果输出 “PASSED”说明 CUDA 运行时和驱动配合良好。很多人会遇到 “CUDA Samples 找不到”“VS 打开报错”的问题多半是没装 VS 的 C 桌面开发组件重新运行 Visual Studio Installer 补上“使用 C 的桌面开发”工作负载即可。3.3 第三步配置 cuDNN 并打通 PyTorch 的 GPU 通道cuDNN 是 NVIDIA 专为深度神经网络优化的底层加速库PyTorch 在训练卷积网络、Transformer 时会直接调用它。虽然 PyTorch 的预编译轮子里带了部分 cuDNN 实现但你若要自己编译源码或者做底层优化还是需要手动安装 cuDNN。下载 cuDNN 需要在 NVIDIA 官网注册账号选择与 CUDA 版本匹配的 cuDNN 版本比如 CUDA 12.x 对应 cuDNN 9.x。解压后你会得到bin、include、lib三个文件夹把这三个文件夹里的内容分别复制到 CUDA Toolkit 安装目录下对应的文件夹中。也就是说bin里的 dll 文件拷到...\CUDA\v12.4\bin头文件拷到...\include库文件拷到...\lib\x64。复制时如果提示文件已存在选择覆盖。接下来是 PyTorch 的安装。用 pip 安装时最稳妥的方式是去 PyTorch 官网的 “Get Started” 页面选择你的操作系统和 CUDA 版本网站会生成对应的 pip 命令。例如选择 CUDA 12.4命令是pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124。不要自己去pip install torch装默认版默认版很可能不带 CUDA 支持。装完验证环境是否真正打通用一段极简代码测试运行python -c import torch; print(torch.__version__, torch.cuda.is_available())。如果输出True再用torch.cuda.get_device_name(0)确认识别到的 GPU 型号。我见过不少情况是is_available()返回 False但nvidia-smi完全正常这种十有八九是 pip 装了 CPU 版 PyTorch看torch.__version__是否带cu124后缀就能立刻分辨。3.4 第四步CLion、VS Code 环境变量与 OOM 排查开发环境联动经常被忽略。在 VS Code 里写 CUDA 代码需要配置 CUDA 的 include 路径和库路径否则 IntelliSense 会画满红色波浪线。我习惯在.vscode/c_cpp_properties.json的includePath中加入C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.4/include并在c_cpp_properties.json里把compilerPath指向 VS 的 cl.exe。至于编译直接写一个tasks.json调用nvcc就好它会在 PATH 里自动找到。在训练深度学习模型时经常遇到的报错是 CUDA out of memory。这里要区分两种情况如果显存明明充足但报 OOM有可能是显存碎片化或者有别的进程占用了显存。先用nvidia-smi查一下显存占用如果有僵尸进程找到 PID 后用任务管理器强制结束如果只是碎片化把 batch size 调小或者开启 PyTorch 的torch.cuda.empty_cache()清理缓存。还有一种隐蔽的原因是裂了内存条的分页文件Windows 默认给 GPU 的内存限额是 0理论上不会出现共享内存溢出但如果你在 WSL2 里跑得确保.wslconfig里给够了内存。4. Linux 环境安装Ubuntu 20.04/22.04 无坑指南4.1 安装前的内核与 GCC 版本检查Linux 下安装 CUDA疯狂踩坑的人是 Windows 的好几倍原因在于 Linux 的驱动安装方式更自由出错面更大。我默认以 Ubuntu 20.04 和 22.04 为例因为深度学习服务器最常用这两个版本。第一步检查内核版本uname -r。NVIDIA 驱动对内核版本有兼容性要求新版驱动通常支持较新的内核但老内核配新驱动会出现 “Unable to load module” 的问题。如果内核太老建议先sudo apt update sudo apt upgrade升级系统和内核重启后再继续。第二步检查 GCC 版本gcc --version。CUDA 11.x 对 GCC 放宽到 10CUDA 12.x 支持 GCC 12但 Ubuntu 22.04 默认 GCC 11配合 CUDA 12.x 没问题配合 CUDA 11.8 就报 “gcc version must be at most 10”。解决办法是安装旧版本 GCCsudo apt install gcc-10 g-10然后通过 update-alternatives 把它设为当前默认编译器。我强烈建议在装 CUDA 之前先搞定 GCC 版本否则等到编译 samples 的时候才报错排查起来更痛苦。4.2 使用 runfile 安装 CUDA 的完整流程Linux 下安装 CUDA 有两种主流方式deb 包和 runfile。我推荐 runfile虽然步骤略多但可控性极强不会像 deb 安装那样自动装上一堆你可能不需要的组件。首先从官网下载对应版本的 runfile然后执行安装命令。关键参数是--silent静默安装或者--toolkit只装 Toolkit这两个参数里最常遇到的情况是--toolkit被一些人误写为--toolkit-only。安装过程中runfile 会询问是否安装驱动、是否创建软链接。如果你已经用apt或官网驱动 runfile 装好了驱动这里选择不装 NVIDIA 驱动只装 CUDA Toolkit否则会有两个驱动管理器冲突的风险。安装完成后/usr/local/ 目录下会出现 cuda 目录或者形如 cuda-12.4 的版本目录。接下来配置环境变量我习惯在~/.bashrc里加这么几行export PATH/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH/usr/local/cuda/lib64:$LD_LIBRARY_PATH保存后执行source ~/.bashrc再运行nvcc -V确认版本。这里有新手常犯的错误只配了 PATH忘了配LD_LIBRARY_PATH结果编译时头文件能通过运行时却报 “libcudart.so.12: cannot open shared object file”就是因为动态链接库搜索路径没配好。4.3 WSL2 安装 CUDAWindows 子系统里的特殊玩法WSL2 里用 CUDA 做深度学习这几年的体验已经相当成熟了。它的原理是 WSL2 直接转发 GPU 调用到底层 Windows 的 NVIDIA 驱动所以你不需要在 Linux 子系统里安装显卡驱动只需要安装 CUDA Toolkit。具体流程分为四步第一步确认 Windows 侧驱动不低于 WSL 要求的最低版本我建议直接升到最新稳定版。第二步在 Windows 里启用“适用于 Linux 的 Windows 子系统”和“虚拟机平台”两个功能重启后安装 WSL2 内核。第三步进入 WSL2 终端用nvidia-smi验证 GPU 是否能被识别。如果这一步就报错大概率是 Windows 驱动太旧去官网更新即可。第四步在 WSL2 的 Ubuntu 里安装 CUDA Toolkit官方提供了专门的 WSL-Ubuntu 版本 deb 包用apt安装。这里要提醒一个常见误区WSL2 里nvidia-smi显示的 CUDA Version 是 Windows 驱动对应的最高 CUDA 版本和 WSL 内安装的 Toolkit 版本可能不一致。这是正常的只要 Toolkit 版本不高于驱动支持的最高版本就行。配置好环境变量后nvcc -V和 PyTorch 的验证方式与原生 Linux 完全一致。4.4 多版本 CUDA 切换与软链接管理做学术研究的人经常碰到一个问题这个项目要 CUDA 11.3那个项目要 CUDA 12.4怎么办不用反复卸载重装Linux 支持并排安装多个 CUDA 版本。核心原理是让/usr/local/cuda这个软链接指向你当前需要的版本目录。安装完 CUDA 11.3 和 CUDA 12.4 后/usr/local/ 下会有 cuda-11.3、cuda-12.4 和 cuda 三个目录默认情况下cuda指向最后安装的那个版本。想要切换只需要把cuda软链接重新指一下sudo rm /usr/local/cuda sudo ln -s /usr/local/cuda-11.3 /usr/local/cuda因为~/.bashrc里配置的 PATH 全部依赖/usr/local/cuda/bin这个路径所以只要切换软链接重新打开终端nvcc -V就变成你想要的版本了。配合 conda 使用更加灵活可以为每个虚拟环境单独配置 CUDA 路径把/usr/local/cuda-12.4/bin直接写进虚拟环境的PATH互不污染。但注意一个坑PyTorch 和 TensorFlow 这种框架实际上用的是自己的预编译 CUDA 运行时它们不一定走系统里的nvcc和LD_LIBRARY_PATH。所以哪怕系统默认 CUDA 是 11.3你照样能用 CUDA 12.4 编译的 PyTorch 轮子。只看nvidia-smi的话CUDA Version一行永远显示驱动的最高支持版本和实际跑代码时用的运行时版本是两回事。5. 常见安装问题速查表与避坑实录5.1 装完驱动显示代码 43 怎么办“代码 43”是 Windows 设备管理器里显卡设备报错的通用状态对 NVIDIA 显卡来说原因多种多样。最常见的是驱动安装不完整或冲突解决办法是断网后用 DDU 进安全模式清理再装最新驱动。注意装完驱动后先不联网验证几分钟如果设备管理器里代码 43 消失再联网也不迟。如果 DDU 清理后仍然报 43考虑硬件层面的原因显卡供电不足特别是笔记本的混合模式、显卡插槽接触不良、或者是显卡物理损坏。台式机用户可以把显卡拔下来重新插紧顺便用橡皮擦擦一下金手指。笔记本用户则要检查是否不小心禁用了独显或者把功耗限制调得太低。如果这些都不行更新一下主板 BIOS有些老主板对新显卡的兼容性需要 BIOS 修复。5.2 CUDA Samples 找不到与 nvcc 版本不一致CUDA Samples 找不到项目文件多半是你只装了 CUDA Toolkit 的核心组件而没安装 Samples 组件。在 Windows 下重新运行 CUDA Toolkit 安装程序选择修改把 “CUDA Samples” 勾选上即可。在 Linux 下手动从 NVIDIA 的 GitHub 仓库克隆 samples 更加方便git clone https://github.com/NVIDIA/cuda-samples.git然后进入目录执行make前提是 make 和 g 都装好了。nvcc 版本和驱动版本显示不一致的问题也经常有人问。比如nvcc -V显示 12.4而nvidia-smi显示 CUDA Version 12.2这其实不是错误。nvidia-smi里显示的 CUDA 版本是驱动支持的“最高版本”并不代表当前启用的 CUDA 运行时就是 12.2你的nvcc编译出来的代码只要运行时的最低驱动要求满足就完全没问题。只有当 nvcc 的版本高于驱动支持的版本时才会真正报错。5.3 N 卡更新后闪退与游戏优化冲突N 卡更新后游戏或应用闪退这个问题在“GeForce Game Ready 驱动”上出现过不止一次。如果新驱动经常让你的创作软件崩溃我的建议是别急着追新换回上一版稳定的 Studio 驱动。NVIDIA 驱动是越新性能越好——这个说法在消费卡上基本成立但在你开发环境跑着关键任务时求稳胜过求新。还有一种闪退原因和 GeForce Experience 的“游戏优化”功能有关。它会自动改动不少游戏的画质设置有时候改完之后配置文件不兼容启动即闪退。在 GeForce Experience 设置里关掉“自动优化新游戏”再逐个把出问题的游戏恢复到默认设置往往就能解决。另外检查显卡的温度如果更新驱动后风扇转速策略改变导致散热问题也会触发保护性闪退这种情况用 MSI Afterburner 重新配置风扇曲线即可。5.4 PyTorch 提示 CUDA 不可用的完整排查路径遇到torch.cuda.is_available()返回 False按顺序排查这四个环节缺一不可。第一个环节驱动是否正常。命令行运行nvidia-smi如果报错或找不到说明驱动层已经出问题回到前面第 3.1 节重装驱动。第二个环节PyTorch 是否带 CUDA 支持。打印torch.__version__如果版本号里没有cu后缀说明你装的是 CPU 版。用前面提到的官网命令重装 GPU 版。第三个环节CUDA 运行时和驱动的版本匹配。如果驱动支持的最高 CUDA 版本比 PyTorch 的编译版本低例如驱动只支持到 11.8但 PyTorch 是 cu121 构建就会报 “CUDA driver version is insufficient”。这种情况升级驱动或者换低 CUDA 版本的 PyTorch 轮子。第四个环节权限和动态库。在 Linux 下用ldd检查 torch 的 CUDA 依赖是否都找到了如果提示找不到某几个.so文件检查LD_LIBRARY_PATH是否包含了正确的 CUDA lib64 目录。按这个顺序走完绝大多数 “CUDA unavailable” 问题都能定位到具体环节。我遇到十次里面有六次是 Python 误装了 CPU 版另外三次是驱动太旧只有一次是环境变量配错可见大部分坑都在开头几步。5.5 1650 这类老卡的驱动选择技巧GTX 1650 是 2019 年的卡虽然架构是 Turing但性能定位入门级。很多人的 1650 笔记本要兼顾日常办公和轻量深度学习驱动选择上有讲究。NVIDIA 对老卡已经停止了 Game Ready 驱动的重点优化新驱动更多是例行兼容更新。如果你用 1650 只是做基础训练、跑小型 CNN不必追求最新驱动找到最后一个对 Turing 架构优化良好的稳定版本即可比如 5xx 系列中后期版本。驱动版本“够用”就行因为 1650 的 4GB 显存本来也撑不起大模型。但要注意1650 毕竟是 Turing 架构计算能力 7.5PyTorch 官方从 2.0 之后对 Turing 架构依然保留支持但部分新特性如 FlashAttention 的高效版本在 7.5 架构上性能受限甚至无法启用。如果你发现买了新版 PyTorch 反而比旧版慢不用太惊讶计算能力 7.5 在某些优化路径的受益确实有限。预算有限的情况下老卡老环境“稳定不折腾”就是最好的状态。6. 最后的经验总结装 CUDA 和驱动这件事说穿了就是“版本对齐”四个字驱动、CUDA Toolkit、cuDNN、PyTorch四个组件的版本要像拼图一样严丝合缝地咬合在一起。我在实测中反复验证下来最稳妥的做法是先从 PyTorch 官网确定支持的 CUDA 版本再以此为基准倒推驱动版本的最低要求其余的组件一律向这个基准看齐。另一个最重要的心得是Linux 下配置 CUDA 时配好软链接和环境变量之后先编译运行一个最小例子确认能调用 GPU再继续往下走不要一连串装完一堆组件才发现某个环节出了问题。这个习惯帮我在服务器上一口气配好四台机器的环境再没遇到过“装完发现不能用”的尴尬。如果你在安装过程中遇到了文章里没覆盖到的特殊情况不妨对照一下操作系统版本、驱动版本和卡型号大多数问题都出在这三个变量的组合上。这套东西装好之后你会发现训练深度学习模型不再有“为什么我这环境跑不了”的困扰剩下的事情就交给代码本身了。
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →