1. 课程导学与环境准备:YOLOv11 模型压缩与部署全景图

各位同学,欢迎来到《YOLOv11 模型压缩与部署工程实战》的第一章。

我是这门课的主讲。在 AI 部署这个行当摸爬滚打了七八年,踩过的坑比写过的代码还多。今天咱们不聊虚的,直接进入正题——先看看这门课到底要带你走一条什么样的路,以及你手头的机器需要准备些什么。

1.1 这门课到底讲什么?

说白了,就是教你如何把一个训练好的 YOLOv11 模型,从「实验室里的玩具」变成「能跑在真实设备上的生产力工具」。

你想想看,一个模型在 GPU 上跑 30 FPS 不算本事,能在 Jetson 上跑 60 FPS 才算入门。我见过太多团队,模型精度刷得挺高,一到部署就傻眼——要么速度不够,要么显存爆了,要么算子不支持。嗯,这门课就是来解决这些问题的。

课程核心目标:

  • 掌握 YOLOv11 的剪枝、量化、蒸馏三大压缩技术
  • 打通 PyTorch → ONNX → TensorRT 的完整部署链路
  • 在 NVIDIA Jetson 边缘设备上实现实时推理

我个人习惯把模型部署比作「给模型减肥再装车」。先剪掉多余的参数(剪枝),再把浮点数换成整数(量化),最后用 TensorRT 这个「高性能引擎」把它跑起来。每一步都有坑,但每一步也都有章可循。

1.2 YOLOv11 部署全景图

先给你一张全景图,让你对整条链路有个直观印象。这张图我画了很多遍,每次给新团队培训都用它。

YOLOv11 模型压缩与部署全景图 YOLOv11 模型压缩与部署全景图 PyTorch 训练 YOLOv11 基线模型 模型压缩 剪枝 · 量化 · 蒸馏 ONNX 导出 算子对齐 · 动态形状 TensorRT 压缩技术详解 • 结构化剪枝:去除冗余通道 • INT8 量化:FP32 → INT8 • 知识蒸馏:大模型教小模型 • 压缩比可达 4x ~ 8x ONNX 转换要点 • 动态 batch 与动态尺寸 • 算子兼容性检查 • 简化与优化图结构 • 验证精度对齐 TensorRT 优化 • 层融合与张量融合 • 内核自动调优 • 动态形状引擎 • 多流并行推理 最终目标:高精度 · 低延迟 · 小体积 边缘设备实时推理 · 模型体积减小 75% · 推理速度提升 5x

这张图你看懂了吗?从左到右,就是一条完整的部署流水线。我们这门课 30 章,就是沿着这条线一步步往下走。

1.3 软硬件环境配置

好,理论讲完了,咱们来点实际的。环境配不好,后面全白搭。我曾经见过一个学员,花了两天配环境,结果 CUDA 版本和 PyTorch 对不上,编译 TensorRT 时直接崩溃。所以这一节,我手把手带你配。

1.3.1 硬件要求

组件 最低配置 推荐配置
GPU NVIDIA GTX 1060 (6GB) NVIDIA RTX 3060 / A4000
CPU 4 核 2.5 GHz 8 核 3.0 GHz 以上
内存 16 GB 32 GB 或以上
硬盘 50 GB 空闲 SSD 256 GB 以上
操作系统 Ubuntu 20.04 Ubuntu 22.04 / Windows 11

注意:如果你用的是笔记本电脑,务必确认是 NVIDIA 独立显卡,且驱动已更新到最新版。集成显卡跑不了 CUDA。

1.3.2 软件栈版本对照

这里我直接给你一个经过验证的版本组合。别自己乱试,我踩过的坑你没必要再踩一遍。

软件 推荐版本 说明
CUDA 11.8 或 12.1 TensorRT 8.6+ 推荐 CUDA 11.8
cuDNN 8.9.7 与 CUDA 版本严格对应
PyTorch 2.1.0 支持 CUDA 11.8 / 12.1
ONNX 1.15.0 配合 onnxruntime-gpu 1.17
TensorRT 8.6.1 Python API + C++ API
Python 3.10 不要用 3.12,很多库还不支持

1.3.3 安装步骤(精简版)

下面是我个人习惯的安装顺序。按这个来,基本不会出问题。

  1. 安装 NVIDIA 驱动:nvidia-smi 确认驱动版本 ≥ 525
  2. 安装 CUDA Toolkit:选择 runfile 或 deb 方式,配置环境变量
  3. 安装 cuDNN:解压后复制到 CUDA 目录
  4. 创建 conda 环境:conda create -n yolov11 python=3.10
  5. 安装 PyTorch:pip install torch==2.1.0 torchvision==0.16.0 --index-url https://download.pytorch.org/whl/cu118
  6. 安装 ONNX 工具链:pip install onnx onnxruntime-gpu
  7. 安装 TensorRT:从 NVIDIA 官网下载 .tar 包,解压后配置 LD_LIBRARY_PATH

小技巧:安装完成后,运行以下代码验证环境:

import torch
print(torch.cuda.is_available())  # 应输出 True
print(torch.__version__)          # 应输出 2.1.0

import onnx
print(onnx.__version__)           # 应输出 1.15.0

import tensorrt as trt
print(trt.__version__)            # 应输出 8.6.1

1.3.4 常见踩坑记录

这里我列几个我亲自遇到过的问题,你遇到了别慌。

  • CUDA 版本不匹配:PyTorch 编译时用的 CUDA 版本和系统安装的不一致。解决办法:用 conda install cudatoolkit=11.8 在 conda 环境内再装一份。
  • TensorRT 找不到库:忘记设置 LD_LIBRARY_PATH。在 ~/.bashrc 里加上 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/TensorRT/lib。
  • ONNX 导出失败:模型中用了不支持的算子。可以用 onnxsim 简化模型,或者手动替换算子。

重要提醒:千万不要用 pip install tensorrt 直接装!那个版本通常很旧,而且不包含 C++ 库。一定要从 NVIDIA 官网下载 .tar 包手动安装。

1.4 本章小结

这一章我们做了三件事:

  • 看清了 YOLOv11 部署的全景图——从训练到压缩,从 ONNX 到 TensorRT
  • 明确了课程目标——让你真正能动手部署,而不是纸上谈兵
  • 配好了环境——这是后面所有实验的基础