YOLOv8 目标检测实验记录

此笔记记录了在学校服务器使用 YOLOv8 进行目标识别的过程

一、环境配置:

1. conda 安装

我用的 Anaconda3,因为学校服务器有现成的
miniconda 也可以用只是少一些包,后面可以按需安装

2. conda 环境激活

YOLOv8至少使用 python 的 3.8 版本,这里选择了 3.10

创建环境,命名为 yolo_env(可修改)

conda create -n yolo_env python=3.10

激活环境

conda activate yolo_env

3. pytorch 安装

在官方文档查找命令:https://pytorch.org/get-started/previous-versions/
选择支持GPU的版本,运行命令安装。
注意版本不能高于服务器 CUDA 版本,使用命令 nvidia-smi 可以查看服务器 CUDA 版本
例如我使用的学校服务器 CUDA 环境为v12.4, 故选择了 cuda <= 12.4 的命令

pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 --index-url https://download.pytorch.org/whl/cu124

这个安装比较慢,大概1-2小时

4.安装 ultralytics 包

包含Yolo运行所需的基本包

pip install ultralytics

二、测试YOLOv8是否正常运行

下载一张测试图片并使用 YOLOv8 预测(注意将 ... 替换成希望保存的目标路径)
运行结果会保存在路径:/.../first_test/

yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg' project=/h... name=first_test

三、划分数据集

1.数据集准备

训练集:验证集:测试集 = 7 : 2 : 1(也有其它划分方式)
数据集分为图片和标注文件
注意如果标注文件格式是 .xml,需要转化为 YOLOv8 可读的 .txt 文件
划分的代码可以让AI写

2.准备.yaml文件

YOLOv8还需要一个.yaml文件,用于指定数据集的路径,格式如下:

path: /... # 数据集路径
train: images/train # 训练集路径
val: images/val # 验证集路径
test: images/test # 测试集路径

nc: 5  # 需要修改为实际类别总数
names: ['A', 'B', 'C', 'D, 'E] # 需要修改为实际类别

四、模型训练

yolo detect train model=yolov8m.pt data=.../data.yaml     project=...     name=grid_defect_exp1     epochs=100 imgsz=640 batch=16

解释:
detect: 目标检测
train: 模型训练
model = YOLOv8m 选择模型 YOLOv8m
data = .../data.yaml 前面准备的.yaml文件路径
project = ... 指定结果存放路径
name = grid_defect_exp1 结果存放的文件夹名称,可以改
epochs = 100 训练轮次
imgsz = 640 输入图片像素大小
batch = 16 批大小

五、模型测试

yolo detect val model=.../grid_defect_exp1/weights/best.pt data=.../data.yaml split=test project=... name=test_eval

解释:
val: 模型测试
split = test: 指定使用测试集

测试结果会保存在 project 下(mAP 会显示在 cmd 窗口)

posted @ 2026-08-03 15:21  LIGHTB  阅读(2)  评论(0)    收藏  举报