Ubuntu20.04深度学习环境搭建避坑实录:从显卡驱动到TensorRT,我踩过的雷你别踩
·
Ubuntu 20.04深度学习环境搭建避坑指南:从显卡驱动到TensorRT的实战经验
1. 环境准备与系统优化
在开始搭建深度学习环境之前,我们需要确保Ubuntu 20.04系统处于最佳状态。许多初学者往往忽略这一步骤,直接跳转到驱动安装,结果导致后续问题频发。
首先,更新系统软件包是一个好习惯:
sudo apt update && sudo apt upgrade -y
接下来,安装一些基础开发工具:
sudo apt install -y build-essential cmake git wget
常见问题与解决方案 :
- 问题 :系统更新后出现依赖冲突
- 原因 :第三方软件源版本不兼容
- 解决 :先禁用所有非官方源,逐步添加测试
提示:建议在安装前创建系统快照,方便出现问题后快速恢复
2. NVIDIA显卡驱动安装的陷阱与对策
显卡驱动安装是第一个"雷区",处理不当可能导致系统无法启动。以下是经过验证的可靠方法:
2.1 禁用Nouveau驱动
sudo bash -c "echo 'blacklist nouveau' >> /etc/modprobe.d/blacklist-nouveau.conf"
sudo bash -c "echo 'options nouveau modeset=0' >> /etc/modprobe.d/blacklist-nouveau.conf"
sudo update-initramfs -u
重启后验证是否禁用成功:
lsmod | grep nouveau
2.2 选择合适的驱动版本
不要盲目选择最新驱动,而应根据CUDA版本需求选择:
| CUDA版本 | 推荐驱动版本 |
|---|---|
| 11.3 | 465.19.01 |
| 11.4 | 470.82.01 |
| 11.5 | 495.29.05 |
安装驱动:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt install -y nvidia-driver-465
2.3 验证安装
nvidia-smi
典型错误处理 :
- 黑屏问题 :尝试在GRUB启动时添加
nomodeset参数 - 登录循环 :卸载驱动后重装,确保选择正确的开源/闭源版本
3. CUDA 11.3安装的精细调整
CUDA安装看似简单,但版本兼容性问题常常让人头疼。
3.1 下载与安装
wget https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run
sudo sh cuda_11.3.1_465.19.01_linux.run --override
安装时关键选项 :
- 取消勾选驱动安装(已单独安装)
- 接受许可协议
- 选择默认安装路径
3.2 环境变量配置
编辑 ~/.bashrc 文件,添加:
export PATH=/usr/local/cuda-11.3/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.3/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
应用更改:
source ~/.bashrc
验证安装:
nvcc --version
3.3 多版本CUDA管理
如果需要多个CUDA版本共存,可以使用符号链接方式切换:
sudo rm /usr/local/cuda
sudo ln -s /usr/local/cuda-11.3 /usr/local/cuda
4. cuDNN安装的隐藏细节
cuDNN的安装虽然简单,但版本匹配至关重要。
4.1 下载正确版本
确保下载与CUDA 11.3兼容的cuDNN 8.2.x版本。
4.2 安装步骤
sudo cp cuda/include/cudnn*.h /usr/local/cuda-11.3/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.3/lib64
sudo chmod a+r /usr/local/cuda-11.3/include/cudnn*.h /usr/local/cuda-11.3/lib64/libcudnn*
4.3 验证安装
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
5. TensorRT的复杂部署
TensorRT的安装最为复杂,需要特别注意Python环境管理。
5.1 下载与解压
tar -xzvf TensorRT-8.2.5.1.Linux.x86_64-gnu.cuda-11.4.cudnn8.2.tar.gz
5.2 Python包安装
在虚拟环境中安装:
cd TensorRT-8.2.5.1/python
pip install tensorrt-8.2.5.1-cp38-none-linux_x86_64.whl
5.3 环境变量配置
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/TensorRT-8.2.5.1/lib
5.4 验证安装
import tensorrt
print(tensorrt.__version__)
6. 环境测试与性能优化
完成所有组件安装后,需要进行综合测试。
6.1 基准测试
使用官方示例测试性能:
cd TensorRT-8.2.5.1/samples/trtexec
make
./trtexec --onnx=model.onnx
6.2 性能调优技巧
- 使用FP16精度提升推理速度
- 调整batch size优化显存使用
- 启用TensorRT的优化策略
6.3 常见错误排查
- 版本不匹配 :检查所有组件版本兼容性
- 显存不足 :减小模型规模或batch size
- 性能低下 :检查是否启用了GPU加速
7. 长期维护建议
深度学习环境需要定期维护以保证稳定性。
7.1 更新策略
- 非必要不更新驱动和CUDA
- 先测试再应用到生产环境
- 保持虚拟环境隔离
7.2 备份方案
- 记录所有安装组件的版本号
- 备份关键配置文件
- 使用Docker容器封装环境
7.3 性能监控
watch -n 1 nvidia-smi
更多推荐
所有评论(0)