当前位置: 首页 > news >正文

Ubuntu 22.04 深度学习环境搭建:从驱动到TensorRT 10.1的完整配置流程

1. 环境准备与基础检查

刚拿到一台新服务器时,我习惯先做两件事:确认硬件配置和清理系统。以我的Dell R730为例,先用lshw -short查看所有硬件信息,重点确认GPU型号是否被系统识别。如果看到"NVIDIA Corporation"字样但具体型号显示为"3D Controller",说明需要安装驱动。

Ubuntu 22.04默认使用nouveau开源驱动,这会和NVIDIA官方驱动冲突。我推荐在安装前先执行:

sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf" sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"

然后更新initramfs并重启:

sudo update-initramfs -u sudo reboot

重启后验证nouveau是否禁用成功:

lsmod | grep nouveau

如果没有任何输出,说明禁用成功。这时候建议顺手安装编译工具链:

sudo apt update && sudo apt install -y build-essential linux-headers-$(uname -r)

2. NVIDIA驱动安装实战

驱动安装有.run文件和apt源两种方式。实测下来,对于生产环境我更推荐使用官方.run文件安装,虽然步骤稍多但能避免依赖冲突。以RTX 2080 Ti为例:

首先到NVIDIA官网查找对应驱动版本。注意要选择"Linux 64-bit"和对应CUDA版本支持的驱动。比如CUDA 12.4需要550.x以上驱动。

下载后不要直接安装!先给文件添加执行权限:

chmod +x NVIDIA-Linux-x86_64-550.142.run

安装时建议加上这些参数:

sudo ./NVIDIA-Linux-x86_64-550.142.run --silent --dkms --no-opengl-files

其中--no-opengl-files特别重要,可以避免与系统自带的OpenGL冲突。

安装完成后,用nvidia-smi验证。如果看到GPU信息和驱动版本输出,说明安装成功。这时候建议设置持久化模式:

sudo nvidia-smi -pm 1

3. CUDA Toolkit 12.4深度配置

CUDA安装最容易踩的坑是环境变量配置。我推荐用deb方式安装,比runfile更易管理:

首先添加密钥和仓库:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600 sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pub sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /"

安装时指定完整版本号可以避免自动升级:

sudo apt install -y cuda-toolkit-12-4 cuda-libraries-12-4

环境变量配置建议放在/etc/profile.d/下新建cuda.sh:

export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH export CUDA_HOME=/usr/local/cuda

然后执行source /etc/profile全局生效。

验证安装时别只用nvcc -V,建议跑个实际测试:

cd /usr/local/cuda/samples/1_Utilities/deviceQuery sudo make ./deviceQuery

如果看到"Result = PASS",说明CUDA工作正常。

4. cuDNN 9.0.0安装技巧

cuDNN安装最容易出错的是版本匹配问题。我的经验是:

  1. 一定要下载"Local Installer for Ubuntu22.04"版本
  2. 安装前确认CUDA路径:ls /usr/local/cuda/include/cudnn_version.h
  3. 下载后先验证文件完整性:
md5sum cudnn-local-repo-ubuntu2204-9.0.0_1.0-1_amd64.deb

安装步骤:

sudo dpkg -i cudnn-local-repo-ubuntu2204-9.0.0_1.0-1_amd64.deb sudo cp /var/cudnn-local-repo-ubuntu2204-9.0.0/cudnn-*-keyring.gpg /usr/share/keyrings/ sudo apt update sudo apt install -y libcudnn9 libcudnn9-dev

验证时不要只看头文件版本,建议实际测试:

cd /usr/src/cudnn_samples_v9/mnistCUDNN sudo make ./mnistCUDNN

如果看到测试准确率超过99%,说明安装成功。

5. TensorRT 10.1完整指南

TensorRT的安装最复杂的是依赖管理。我的经验是:

  1. 提前安装所有依赖:
sudo apt install -y libnvinfer9 libnvinfer-dev libnvinfer-plugin9 libnvinfer-plugin-dev
  1. 下载时注意选择"Debian Local Repo"格式的安装包

  2. 安装后需要手动添加环境变量:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu export TENSORRT_DIR=/usr/src/tensorrt

验证安装建议使用自带样例:

cd /usr/src/tensorrt/samples/sampleOnnxMNIST sudo make -j$(nproc) cd ../../bin/ ./sample_onnx_mnist

如果看到"&&&& PASSED"输出,说明TensorRT工作正常。这时候可以测试性能:

/usr/src/tensorrt/bin/trtexec --onnx=model.onnx --saveEngine=model.engine

6. 常见问题解决方案

驱动安装失败:通常是因为Secure Boot。解决方法:

sudo mokutil --disable-validation

CUDA版本冲突:先完全卸载旧版本:

sudo apt purge -y "*cuda*" "*nvidia*" sudo rm -rf /usr/local/cuda*

cuDNN验证失败:检查软链接是否正确:

ls -al /usr/lib/x86_64-linux-gnu/libcudnn*

TensorRT样例编译错误:可能需要安装额外依赖:

sudo apt install -y python3-libnvinfer-dev

最后建议创建环境快照:

sudo apt install -y timeshift sudo timeshift --create --comments "After CUDA installation"
http://www.jsqmd.com/news/623774/

相关文章:

  • 2026年德州太阳膜选购攻略,太阳膜材质对比与性价比分析 - mypinpai
  • 收藏!一文轻松看懂大模型核心术语,小白也能秒懂AI世界!
  • C++条件变量(一):从轮询到唤醒 —— 条件变量的设计动机与基础用法
  • 用STM32F4的HAL库搞定电机测速:从编码器接线到RPS计算,一篇就够了
  • 谷歌开源大模型 Gemma 4​ 与智能体框架 OpenClaw​ 结合使用
  • 聊聊2026年口碑好的SPC门来图定制公司,哪家性价比高 - 工业推荐榜
  • 人工智能音乐创作平台版权授权纷争背后的监管隐忧
  • 2026年 AI Agent 深度解析:从 ReAct 范式到 Multi-Agent 协作的工程化落地
  • 新手避坑指南:用Carsim 2020和Matlab 2021b复现ABS联合仿真(从模型导入到动画对比)
  • 3步掌握ChanlunX:让缠论技术分析从复杂到简单的可视化利器
  • 收藏!小白程序员快速入门大模型:23个核心概念轻松掌握
  • Git-RSCLIP遥感图像分类:5分钟零代码上手,卫星图识别不求人
  • 2026年板栗公司推荐及选购参考 - 品牌策略师
  • 在超大数据集下 DuckDB 与 MySQL 查询速度对比绿
  • 3个核心技术深度破解Cursor免费限制:AI代码编辑器的无限使用方案
  • 如何在Windows电脑上快速安装APK文件:告别模拟器的终极指南
  • ARM平台下libcrypto.so.1.0.0的交叉编译避坑指南
  • 3分钟从文档到专业演示文稿:PPTAgent让你的PPT制作效率提升300倍
  • League-Toolkit终极指南:英雄联盟玩家的智能游戏助手解决方案
  • 用普通摄像头实现心率监测?手把手教你搭建RPPG实验环境(Python+OpenCV实战)
  • Roboto字体架构深度解析:现代无衬线字体的工程实现
  • 安徽诚鑫物资回收有限公司:合肥蜀山区专业承接电缆 有色金属回收电话 - LYL仔仔
  • Python气象绘图库Meteva避坑指南:从站点插值到地图叠加的13个实战问题修复
  • 3分钟掌握Vue大屏自适应:终极解决方案让复杂布局轻松适配
  • springboot 微信小程序的红色导览之烈士陵园烈士纪念app
  • Windsurf的Write和Chat模式怎么选?一篇讲清点数消耗、模型降级和你的真实开发场景
  • VR-Reversal:免费实现3D视频转2D播放的终极解决方案
  • WorkshopDL:打破平台壁垒的终极Steam创意工坊下载器,三步免费获取任何游戏模组
  • PaddleOCR文本矫正模块深度体验:从UVDoc模型推理到高性能模式(HPI)配置全解析
  • 再次革新 .NET 的构建和发布方式(三)卦