1. 为什么需要搭建Ubuntu深度学习环境如果你刚接触深度学习可能会好奇为什么大家都推荐在Ubuntu系统下搭建开发环境。简单来说Ubuntu对NVIDIA显卡的支持更友好而且大多数深度学习框架比如TensorFlow、PyTorch在Linux环境下运行更稳定。我在帮实验室新同学配置环境时经常遇到Windows下各种奇怪的CUDA报错换到Ubuntu后问题就神奇地消失了。Ubuntu 20.04和22.04是目前最推荐的两个LTS长期支持版本。它们不仅稳定性强而且社区支持完善。我实测过在这两个版本上安装NVIDIA驱动、CUDA和cuDNN的成功率最高。不过要注意不同版本的组件之间存在严格的兼容性要求这也是很多新手容易踩坑的地方。2. 安装NVIDIA显卡驱动的三种方法2.1 图形界面安装适合新手这是最傻瓜式的安装方法打开软件和更新应用切换到附加驱动标签页选择推荐的专有驱动版本通常会标注推荐点击应用更改按钮注意这种方法虽然简单但有时会遇到驱动版本不匹配的问题。我遇到过几次安装后无法进入图形界面的情况这时候就需要进入恢复模式卸载驱动重装。2.2 命令行安装推荐这是我个人最推荐的方式既方便又可靠# 添加官方PPA源 sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update # 查看可用驱动版本 ubuntu-drivers devices # 安装推荐驱动以510版本为例 sudo apt install nvidia-driver-510安装完成后一定要重启系统然后运行nvidia-smi命令验证。如果看到类似下面的输出说明安装成功----------------------------------------------------------------------------- | NVIDIA-SMI 510.47.03 Driver Version: 510.47.03 CUDA Version: 11.6 | |--------------------------------------------------------------------------- | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | || | 0 NVIDIA GeForce ... On | 00000000:01:00.0 On | N/A | | N/A 45C P8 N/A / N/A | 200MiB / 8192MiB | 10% Default | | | | N/A | ---------------------------------------------------------------------------2.3 手动安装.run文件高级用户这种方法适合需要特定驱动版本的情况从NVIDIA官网下载对应版本的.run文件按CtrlAltF2进入命令行模式关闭图形界面服务sudo service lightdm stop运行安装程序sudo sh NVIDIA-Linux-x86_64-510.47.03.run警告这种方法最容易出问题特别是新手可能会遇到内核模块签名验证失败的情况。如果遇到问题可以尝试添加--no-opengl-files和--no-drm参数。3. CUDA工具包的安装与配置3.1 版本选择很重要CUDA版本必须与你的NVIDIA驱动兼容。最简单的方法是查看nvidia-smi输出的右上角那里会显示驱动支持的最高CUDA版本。比如显示CUDA Version: 11.6就说明你可以安装11.6及以下版本的CUDA。我在项目中常用的几个稳定组合驱动510.47.03 CUDA 11.6驱动470.103.01 CUDA 11.4驱动450.119.03 CUDA 11.03.2 实际安装步骤以CUDA 11.6为例# 下载安装包 wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux.run # 运行安装程序 sudo sh cuda_11.6.0_510.39.01_linux.run安装时要注意在驱动安装选项处按空格取消选择因为我们已提前安装驱动其他选项保持默认即可安装完成后需要配置环境变量。编辑~/.bashrc文件在末尾添加export PATH/usr/local/cuda-11.6/bin${PATH::${PATH}} export LD_LIBRARY_PATH/usr/local/cuda-11.6/lib64${LD_LIBRARY_PATH::${LD_LIBRARY_PATH}}然后执行source ~/.bashrc使配置生效。验证安装nvcc -V应该能看到类似输出nvcc: NVIDIA (R) Cuda compiler release 11.6, V11.6.554. cuDNN的安装与验证4.1 下载正确的版本cuDNN必须与CUDA版本严格匹配。以CUDA 11.6为例应该选择for CUDA 11.x的cuDNN 8.x版本。下载时需要注册NVIDIA开发者账号这是官方要求。4.2 安装步骤下载完成后假设文件名为cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar.xz# 解压文件 tar -xvf cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar.xz # 复制文件到CUDA目录 sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64 sudo chmod ar /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*4.3 验证安装对于cuDNN 8.x及以上版本cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2应该能看到类似输出#define CUDNN_MAJOR 8 #define CUDNN_MINOR 4 #define CUDNN_PATCHLEVEL 05. 常见问题排查指南5.1 驱动安装失败症状安装后黑屏或循环登录 解决方法进入恢复模式卸载现有驱动sudo apt purge nvidia*重新安装推荐版本驱动5.2 CUDA测试程序报错如果运行/usr/local/cuda/samples/中的示例程序出错可能是环境变量没设置好。确保所有CUDA相关路径已加入PATH执行了source ~/.bashrc安装了必要的依赖sudo apt install build-essential5.3 多显卡配置如果你有Intel集成显卡和NVIDIA独立显卡可以通过以下命令切换sudo prime-select nvidia # 使用NVIDIA显卡 sudo prime-select intel # 使用Intel显卡切换后需要重启生效。6. 环境验证与深度学习框架测试安装完所有组件后建议用实际框架测试环境是否正常工作。以PyTorch为例import torch print(torch.cuda.is_available()) # 应该返回True print(torch.backends.cudnn.version()) # 应该显示你安装的cuDNN版本如果一切正常恭喜你现在可以开始你的深度学习之旅了。我在第一次成功搭建环境后立即跑了一个MNIST训练作为测试看到GPU利用率飙升的感觉真的很棒。