2. YOLOv8环境搭建与基础推理

环境搭建这事,说难不难,说简单也容易踩坑。我这些年带过不少新人,十有八九第一周都在跟环境搏斗。其实只要理清几个关键步骤,半小时就能跑起来。

咱们这一章的目标很明确:把YOLOv8跑起来,看到检测结果。别急着研究原理,先让模型动起来,你才有继续学下去的动力。

2.1 Conda环境配置

我个人习惯用Conda管理Python环境。为什么?因为项目多了你就知道,依赖冲突能让人崩溃。Conda至少能帮你隔离出一片净土。

我的建议:Python版本选3.9或3.10。3.8太老,3.11以上有些库还没完全适配。3.9是最稳妥的选择。

先确认你装了Conda:

conda --version

然后创建新环境:

conda create -n yolov8 python=3.9 -y
conda activate yolov8

嗯,这里要注意。激活后看看终端前面是不是多了个 (yolov8)。没有的话说明没激活成功,后面装啥都装错地方了。

接下来装PyTorch。这一步很多人翻车——直接 pip install torch 装了个CPU版本,跑起来慢得想哭。

去PyTorch官网选你的配置:

你的显卡 CUDA版本 安装命令
NVIDIA 30系/40系 CUDA 11.8 pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118
NVIDIA 20系及更早 CUDA 11.7 pip install torch torchvision --index-url https://download.pytorch.org/whl/cu117
没有NVIDIA显卡 CPU pip install torch torchvision
我曾经踩过的坑:装完PyTorch一定要验证一下。运行 python -c "import torch; print(torch.cuda.is_available())"。输出 True 才说明GPU能用。输出 False 的话,检查CUDA版本和驱动。

2.2 YOLOv8源码安装

环境准备好了,接下来装YOLOv8。有两种方式,我建议你选第一种。

方式一:通过pip安装(推荐)

pip install ultralytics

就这么一行。Ultralytics官方把YOLOv8打包成了Python包,装完就能用。简单粗暴。

方式二:从源码安装

如果你想看源码、改代码,那就用这个:

git clone https://github.com/ultralytics/ultralytics.git
cd ultralytics
pip install -e .

-e 参数的意思是「可编辑模式」。你改了源码,下次import就是新代码,不用重新装。

验证安装:

python -c "from ultralytics import YOLO; print('YOLOv8 installed successfully')"

没报错就说明装好了。

2.3 使用官方权重进行图片推理

装好了,跑起来看看效果。YOLOv8官方提供了预训练权重,直接下载就能用。

先下载一张测试图片:

wget https://ultralytics.com/images/bus.jpg

然后写个Python脚本:

from ultralytics import YOLO

# 加载模型。第一次运行会自动下载权重
model = YOLO('yolov8n.pt')  # n: nano版本,最快最轻

# 推理
results = model('bus.jpg')

# 保存结果
results[0].save('result.jpg')
print('检测完成,结果已保存到 result.jpg')

跑完看看 result.jpg。如果看到公交车、行人、红绿灯都被框出来了,恭喜你,环境搭建成功了。

YOLOv8有5个版本,按体积从小到大:

模型 参数量 速度(GPU) 精度(mAP) 适用场景
yolov8n.pt 3.2M 最快 37.3 移动端、实时检测
yolov8s.pt 11.2M 较快 44.9 边缘设备
yolov8m.pt 25.9M 中等 50.2 通用场景
yolov8l.pt 43.7M 较慢 52.9 高精度需求
yolov8x.pt 68.2M 最慢 53.9 极致精度
我的经验:刚开始用 yolov8n.pt 就够了。跑得快,验证方便。等后面做剪枝量化,也是从nano版本开始练手。别一上来就搞x版本,等半天不出结果,容易劝退。

2.4 视频推理

图片能跑了,视频也不难。说白了就是把视频一帧一帧读进来,每帧都做一次检测。

from ultralytics import YOLO

model = YOLO('yolov8n.pt')

# 视频推理
results = model('input_video.mp4', save=True)

# 或者用摄像头实时检测
# results = model(0, show=True)  # 0 表示第一个摄像头

就这么简单。加个 save=True 会自动保存检测后的视频。加个 show=True 会弹窗实时显示。

注意:视频推理很吃显存。如果你用 yolov8x.pt 跑1080p视频,8G显存可能撑不住。我建议先用nano版本试水,确认流程没问题再换大模型。

2.5 本章知识结构

下面这张图帮你理清整个环境搭建的流程:

YOLOv8环境搭建与基础推理流程 第一步:Conda环境配置 Python 3.9 PyTorch (GPU版) CUDA验证 依赖包 第二步:YOLOv8源码安装 方式一:pip install ultralytics 方式二:git clone + pip install -e . 第三步:使用官方权重进行图片/视频推理

这张图把整个流程分成了三步。每一步都有对应的操作和验证方法。你跟着走一遍,基本不会出大问题。

2.6 常见问题排查

环境搭建总会遇到各种幺蛾子。我列几个最常见的:

  • CUDA out of memory —— 显存不够。换小模型,或者降低输入图片尺寸。
  • ModuleNotFoundError: No module named 'ultralytics' —— 没装成功。检查是不是在正确的conda环境里。
  • RuntimeError: CUDA error: no kernel image is available —— PyTorch版本和CUDA版本不匹配。重装对应版本的PyTorch。
  • 视频推理卡顿 —— 帧率太高或者模型太大。可以跳帧处理,或者换nano模型。

核心要点回顾:

  • Conda环境隔离是第一步,别偷懒
  • PyTorch一定要装GPU版本,装完验证
  • YOLOv8用pip安装最省事
  • 先用nano模型跑通流程
  • 视频推理和图片推理API完全一致

环境搭好了,模型跑起来了。接下来咱们就可以开始研究怎么剪枝、怎么量化了。不过那是后面的事,今天先到这,你先把环境跑通再说。