YOLOv8
一、前置准备:安装必要组件
YOLOv8 是基于 PyTorch 的目标检测框架,使用前需要正确配置开发环境。本节将详细介绍如何通过 Miniconda(或 Miniforge)管理环境,并安装 PyTorch 与 Ultralytics。
| 组件 | 作用 | 关联 |
|---|---|---|
| Miniconda / Miniforge | 轻量级 Python 环境管理工具 | 用于创建独立环境,避免包冲突 |
| PyTorch | 深度学习核心框架 | 提供 GPU 加速与模型训练能力 |
| Ultralytics (YOLOv8) | 目标检测工具库 | 基于 PyTorch 构建,提供简洁 API |
| 终端(Terminal) | 操作入口 | 所有命令在此执行,推荐使用 cmd |
1. 使用 Miniconda(Windows用户)
1)打开精华大学镜像源网址:https://mirrors.tuna.tsinghua.edu.cn/
2)找到 anaconda --> 点击进入找到 miniconda


3)点击进入 miniconda 搜索py38(YOLOv8 兼容性好) 找到 windows 版本

4)下载并安装,安装目录不能有中文
安装成功后搜索cmd能找到

补充:使用 Miniforge 替代 Miniconda
Miniforge 和 Miniconda 使用方法基本一致(轻量替代,支持 M1/M2 Mac)
如果你使用的是 ARM 架构 Mac 或希望更纯净的 conda 环境,推荐使用 Miniforge:

安装目录不能有中文

conda 创建并激活虚拟环境
1)搜索 cmd 找到

2)打开 Anaconda Prompt 创建环境:
# 创建名为 yolov8 的虚拟环境,指定 Python 3.8
conda create -n yolov8 python=3.8

3)激活环境
conda activate yolov8

激活后命令行前缀会显示 (yolov8),表示当前处于该环境中。
4)配置国内镜像源(加速 pip 安装)
由于 PyPI 国外源速度慢,建议配置国内镜像源(如清华源):
配置方法:https://mirrors.tuna.tsinghua.edu.cn/help/pypi/
- 将清华大学镜像源设为默认(写入 ini 配置文件)
# pip config 是全局设置
pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

- 验证是否设置成功
pip config list

- 下载完镜像后也可通过查看 C:\Users\Administrator.condarc 内容判断镜像配置是否正确(如果内容过多则配置失败)

2. 安装 pytorch(支持 GPU / CPU)
安装 pytorch 前,需查看电脑显卡配置,系统驱动,判断最高能支持哪一版本
1) 查看显卡驱动与 CUDA 支持版本
方法一:通过 NVIDIA 控制面板查看
① 右键桌面 → 打开 NVIDIA 控制面板

② 点击左下角「系统信息」

③ 查看「组件」中的 NVCUDA.DLL 版本

示例:NVCUDA.DLL Version: 12.3 → 支持 CUDA 12.3
- 根据 CUDA 版本选择对应的 PyTorch 安装命令
- 若 NVCUDA.DLL 版本比较老,建议升级显卡驱动
方法二:使用 nvidia-smi 命令
① 把以下两个路径加入系统的 环境变量 PATH 中:
C:\Program Files\NVIDIA Corporation\NVSMI\
C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR\
② 然后在终端运行:
nvidia-smi

2)确定好最高版本,安装 pytorch
pytorch 下载地址:https://pytorch.org
打开后下滑选择对应下载需求

我的显卡驱动版本为13.0,比较新,安装CUDA 12.1 对应 pytorch 版本即可
注:pytorch需创建指定环境安装
# 1. 创建新环境(比如叫 pytorch-gpu),使用 Python 3.10(推荐)
conda create -n pytorch-gpu python=3.10 -y
# 2. 激活新环境
conda activate pytorch-gpu
# 3. 使用 官方 + 国内镜像组合 安装 CUDA 12.1 版本
pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --extra-index-url https://pypi.tuna.tsinghua.edu.cn/simple -f https://mirror.sjtu.edu.cn/pytorch-wheels/cu121/
注意安装的 python 版本要与 pytorch 兼容
- 若之前安装过pytorch,彻底卸载当前 PyTorch
conda activate pytorch-gpu
pip uninstall torch torchvision torchaudio -y

- 若镜像及官网安装失败,可直接下载至本地
| 包 | 下载链接 |
|---|---|
| torch | https://download.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp310-cp310-win_amd64.whl |
| torchvision | torchvision-0.20.1+cu121-cp310-cp310-win_amd64.whl |
| torchaudio | torchaudio-2.5.1+cu121-cp310-cp310-win_amd64.whl |
本地下载成功后,进入存储三个 .whl 文件的文件夹,我放到了 F:\yolov 目录中
# 激活环境
conda activate pytorch-gpu
# 进入存放 .whl 文件的目录:
cd /d F:\yolov
安装 GPU 版本(注意:文件名必须完全匹配!可使用 dir *.whl 查看文件名)
pip install torch-2.5.1+cu121-cp310-cp310-win_amd64.whl
pip install torchvision-0.20.1+cu121-cp310-cp310-win_amd64.whl
pip install torchaudio-2.5.1+cu121-cp310-cp310-win_amd64.whl
3) 验证 PyTorch 是否支持 GPU
输入python ,进入 Python 环境测试
import torch
torch.cuda.is_available()
输出结果应为:
True

- 若 CUDA Available 为 False,请检查:
- 显卡驱动是否最新
- CUDA 版本是否匹配
- 是否安装了正确的 PyTorch 版本
python -c "import torch; print('PyTorch版本:', torch.__version__); print('编译时CUDA版本:', torch.version.cuda); print('cuDNN版本:', torch.backends.cudnn.version() if torch.backends.cudnn.is_available() else 'N/A'); print('当前CUDA可用:', torch.cuda.is_available())"

3. 安装 ultralytics (YOLOv8)
1)安装依赖
清华源下载 ultralytics
pip install -U ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple/
-U 表示升级安装,确保获取最新稳定版。
安装完成:

2)验证安装是否成功
输入 python ,打开编辑器
import ultralytics
ultralytics.checks()
验证安装成功:

下载源码(可选):
克隆官方仓库便于本地调试:
https://github.com/ultralytics/ultralytics


放置到桌面,在vscode / pycharm上打开文件:

在 Anaconda Prompt 终端进入该文件夹
cd desktop
cd ultralytics-main
# 我的文件夹
cd /d F:\yolov\ultralytics-main
快速预测一张图片
yolo predict model=yolov8n.pt source=ultralytics/assets/bus.jpg

网络好可以直接下载,网络不好复制资源地址进行下载

检测成功,检测到 4个人 1辆车,一个stop信号,一共花了102ms

4. Windows 终端使用注意事项(非常重要!)
-
cmd
conda init cmd.exe -
anaconda prompt
不要使用 PowerShell ,在使用软件 PyCharm 时修改终端为 cmd
- cmd 鼠标左键为复制,鼠标右键为粘贴

二、模型预测实战
1. 模型预测的基本使用
1)ultralytics-main 文件夹里创建 demo_predict.py

2)写入内容:
from ultralytics import YOLO
# 加载模型
model = YOLO('yolov8n.pt') # 自动下载若不存在
# 进行预测
results = model(source='ultralytics/assets/bus.jpg', save=True, conf=0.5, iou=0.45)
# 打印结果
for r in results:
print(r.boxes) # 输出边界框信息
3)运行该代码,并修改终端为cmd

4)激活环境
conda activate yolov8
5)运行检测算法
yolo detect predict model=./yolov8n.pt source=./ultralytics/assets/bus.jpg

6)查看运行结果

2. 常用参数讲解
常用参数可以在 ultralytics-main 文件或官网上找到

| 参数 | 说明 | 示例 |
|---|---|---|
| source | 输入源 | ‘0’(摄像头)、‘screen’(屏幕)、视频路径、图片路径 |
| save | 是否保存结果 | save=True |
| conf | 置信度阈值 | conf=0.5(低于此值不显示) |
| iou | NMS IOU 阈值 | iou=0.45(控制重叠框合并) |
| imgsz | 输入图像尺寸 | imgsz=640(越大越准但越慢) |
| device | 设备选择 | device=0(GPU)、device=cpu |
示例:使用摄像头实时检测
result = yolo(source="./ultralytics/assets/bus.jpg",save = true)
source 可以等于 “图片,视频,屏幕( “ screen ” ),打开摄像头( 0 )”
save = true 后,结果保存在如下位置
Results saved to C:\Users\Administrator\Desktop\ultralytics-main\runs\detect\predict3

3.Boxes 与 Plot 应用(高级用法)
获取检测结果中的边界框信息:
results = model("bus.jpg")
for result in results:
boxes = result.boxes # Box object for bbox outputs
masks = result.masks # Masks object for segmentation masks outputs
probs = result.probs # Class probabilities for classification outputs
print(boxes.xyxy) # 坐标
print(boxes.conf) # 置信度
print(boxes.cls) # 类别 ID
可视化绘图:
result = results[0]
plot = result.plot() # 绘制检测框和标签
三、常见问题与解决方案
1. conda 不是内部或外部命令
原因: Miniconda 未添加到系统 PATH
解决:
找到安装目录下的 Scripts 和 condabin 文件夹
将以下路径加入系统环境变量 PATH:
C:\Miniconda3\
C:\Miniconda3\Scripts\
C:\Miniconda3\condabin\
重启终端
2. yolo 命令找不到
原因: Ultralytics 安装失败或未正确激活环境
解决:
# 确保在 yolov8 环境中
conda activate yolov8
# 重新安装
pip uninstall ultralytics -y
pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple/
3. brotli 包错误
原因: brotli 模块不兼容导致启动失败
解决:
1)找到 miniconda 的安装位置
conda info
在输出信息中查找这一行:
base environment : C:\Users\Administrator\miniconda3 (writable)
2)删除 brotli 相关文件
进入:C:\Users\Administrator\miniconda3\Lib\site-packages
查找 brotli 相关文件,全部删除
3)重新安装正确的 brotlipy
C:\Users\Administrator\miniconda3\python.exe -m pip install brotlipy
4)验证修复
C:\Users\Administrator\miniconda3\python.exe -c "import brotli; print(brotli.error)"
正确输出为:
<class 'brotli.error'>
5)正常使用 conda
conda create -n yolov8 python=3.8
4. 删除conda环境
列出所有环境
conda env list

退出当前使用环境,进入base
conda deactivate
删除指定环境(如:yolov8)
conda env remove -n yolov8
列出删除后环境
conda env list

16万+

被折叠的 条评论
为什么被折叠?



