上手yolov8教程笔记
一、环境安装
1.miniconda
mini精简,下载完成后,在conda prompt中创建环境:
conda create -n yolov8 python=3.8
pip配置镜像源:(永久)
python -m pip install --upgrade pip
pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
2.pytorch
下载去官网:找历史版本,没有gpu
有gpu: 查NVIDIA的版本:终端输入:nVidia-smi,输出CUDA的版本

注意事项: 16开头的,需要安装cu102的版本,否则出现问题
30或者40开头的显卡,安装cu111以上的版本,否则无法运行
复制安装指令在环境中直接安装
3. ultralytics安装
- 直接下yolov8的源码: 和yolov5相同,但是结构没有v5清晰,提供了命令行的方式,但是直接用源码是用不了命令行的:
https://github.com/ultralytics下载包解压 - pip源码安装:在上述基础上,终端进入ultralytics-main中输入:
pip install -e .,用pip list检验。这样去修改源码之后,就会调用修改之后的代码去做检测。 - 注:检测的测试可以去yolo的github主页的文档中(yoloV8 Docs–>usage–>CLI–>predict–>‘yolo predict model= yolov8n.pt source =’‘’),寻找一个模型进行下载,然后给予一张检测的图像,在中段运行即可。例如:
yolo predict model=yolov8n.pt source="C:\Users\Lsc\Desktop\ultralytics-main\ultralytics-main\ultralytics\assets\zidane.jpg"

4.终端使用
使用cmd或者conda prompt
只要再vscode中配置改成cmd就可以再软件内默认配置文件使用cmd的终端。
二、环境安装
1.基本使用
命令行的方式:yolo task=detect model=./yolov8n.pt source=xx.jpg ,其中task=可以省略。
代码的方式:
from ultralytics import YOLO
yolo = YOLO("./yolov8n.pt",task="detect")
result = yolo(r"C:\Users\Lsc\Desktop\ultralytics-main\ultralytics-main\ultralytics\assets\zidane.jpg")
2.常用参数
常用可以更改的参数位于:C:\Users\Lsc\Desktop\ultralytics-main\ultralytics-main\ultralytics\cfg\default.yaml下
例如:
from ultralytics import YOLO
yolo = YOLO("./yolov8n.pt",task="detect")
result = yolo(source=r"C:\Users\Lsc\Desktop\ultralytics-main\ultralytics-main\ultralytics\assets\1.jpg",save= True)#save=true用于保存检测的结果
#result = yolo(source=0,save= True)#打开摄像头
#result = yolo(source="screen")#检测屏幕
*重点的参数:conf,iou:用于显示检测框的信息,
conf是分数,conf越小,框越多,置信度低
iou越高,框越多,会检测到很多重叠的
3.Boxes和Plot应用
1.可视化
检测的结果保存在result中,result中就包含了boxes等信息
实现检测结果的可视化,在上述的代码上再加上两句
plt.imshow(result[0].plot())
plt.show()
但是此时的图像是BGR的格式,颜色会很奇怪,如果要修正,转化成RGB,则修改为
plt.imshow(result[0].plot()[:,:,::-1])
2.具体的信息
具体的信息在boxes中,可以直接查看,类似的方法:
print(result[0].boxes.xywh)#张量格式
print(result[0].boxes.xywh.cpu().numpy())#numpy格式
4.注意事项
仅仅在jupyter中存在
三、数据集构建
1.数据准备
图片可以直接标注,视频需要进行抽帧处理,导出图片
2.labelimg数据标注
- 环境安装:
pip install labelimg - 启动:
终端输入abelimg
左边打开 open dir打开图片文件夹,新建一个标注后的图片文件夹 - 关键设置:
再view中:auto savemode打开
模型改为yolo - 注意:出现闪退问题,将labelimg升级到最新版本
3.make sense数据标注
地址:https://www.makesense.ai/
可以选择目的是目标检测还是图片分类,提前创建好标签,将annotations改为yolo。标注结束可以在网页上直接下载标注好的图片压缩包。
可以支持在线辅助标注,要把模型先全部上传,只支持yolov5,不支持yolov8
4.roboflow公开数据集
- https://public.roboflow.com/object-decetion
四、模型训练
1.训练前准备
数据集准备
- images:存放图片
- train:训练集图片
- val :验证集图片
- labels:存放标签
- train:训练集标签文件,与训练集图片名称一一对应
- val :验证集标签文件,与验证集图片名称一一对应
将images和labels均存放在cat中,将cat存放在datasets文件夹下,注意,此处的dataset一定要存在,可以新建在ultralytics-main下。
在写配置文件,在ultralytics-main下创建yolo-cat.yaml文件,可以仿照cfg下的配置文件进行修改:
path: C:\Users\Lsc\Desktop\ultralytics-main\ultralytics-main\datasets\cat # 改为完整的绝对路径
train: images/train # 相对于path的路径
val: images/val # 相对于path的路径
test: # 测试集(可选)
# Classes
names:
0: cat1
1: cat2
2.模型训练与常见参数
- 以命令行的方式启动:
yolo task=detect mode=train model=C:\Users\Lsc\Desktop\ultralytics-main\ultralytics-main\yolov8n.pt data=C:\Users\Lsc\Desktop\ultralytics-main\ultralytics-main\yolo-cat.yaml epochs=10 workers=1 batch=3
workers要设置为1
注:数据集的路径是由setting.json的dataset_dir和yaml中的path拼接而成,所以要检查是否正确
- 以代码的方式启动:
from ultralytics import YOLO
#加载模型
model = YOLO('yolov8n.pt')
#训练模型
model.train(data ='yolo-cat.yaml',workers=0,epochs=10,batch=3)
workers要设置为0,我这里设置为1也没有报错。
训练时最好将epochs设置的大一点,这样模型的效果会更好,等待模型训练完成,结果会保存在C:\Users\Lsc\Desktop\ultralytics-main\ultralytics-main\runs\detect\train5路径下
进行预测时,在终端中执行:
yolo detect predict model=C:\Users\Lsc\Desktop\ultralytics-main\ultralytics-main\runs\detect\train5\weights\best.pt source=C:\Users\Lsc\Desktop\ultralytics-main\ultralytics-main\1.jpg show=true
预测的结果会保存在
C:\Users\Lsc\Desktop\ultralytics-main\runs\detect\predict14
如果要修改预测结果的保存路径,就需要打开setting.json,修改:
"runs_dir": "C:\\Users\\Lsc\\Desktop\\ultralytics-main\\ultralytics-main\\runs",
3.注意事项
常见问题
以代码方式运行时
- workers要设置成0,windows
页面文件太小,无法完成操作
- 调整训练参数中的workers,设置为1
- 修改虚拟内存,将环境安装位置所在的盘,设置一个较大的参数
数据集描述文件
- 数据地址从datasets目录里开始写起,且就放在根目录下,会避免很多坑
调整数据集目录后再次训练 - 删除~/AppData/Roaming/Ultralytics文件夹下的settings.yaml
整个的工作目录就是

更多推荐
所有评论(0)