【yolo部署】
【yolo部署】
yolo功能
Task
Detection 检测目标
Instance Segmentation 轮廓
Classification 分类
Pose/Keypoints 关键点检测
Mode
训练(生成:模型)->验证->预测/推理->导出部署
指令运行
task
mode
model
source
$ yolo task='detect' mode='predict' model='yolo11n.pt' source='detect-footage.jpg'
Python脚本运行
from ultralytics import YOLO
yolo = YOLO(model='yolo11n.pt',task='detect')
result = yolo(source='imgs/zyj.jpg',save=True)
.\ultralytics\cfg\default.yaml
包含所有参数
# source='screen' 检测屏幕
# source=0 检测摄像头
# save=True 结果检测完存到run里
# conf=0.05 置信区间
关于结果result
print(result[0].boxes)
xywh
中心点+宽高
xyxy
左上角 右上角
n
归一化
数据集标注
labelimg
改为yolo格式
View-Auto Save mode
dataset结构
|__datasets
|__icon
|__images # 存放图片
|__test
|__train # 需要被训练的图片
|__labels # 存放标注信息
|__test
|__train
快捷键
保存信息 data.yaml
#dataset path
train: ./images/train
val: ./images/test
test: ./images/test
#number of classes
nc: 1
#class names
names: ['nailong']
训练模型
train.py
from ultralytics.models import YOLO
import os
os.environ['KMP_DUPLICATE_LIB_OK'] = 'True'
if __name__ == '__main__':
# 模型配置文件路径(一般都是这个)
model = YOLO(model='ultralytics/cfg/models/11/yolo11.yaml')
model.train(data='./data.yaml', epochs=2, batch=1, device='0', imgsz=640, workers=2, cache=False,
amp=True, mosaic=False, project='runs/train', name='exp')
train参数
data: 数据集配置文件(.yaml)路径
epochs=100: 训练轮数
time: 最大训练时间
batch=16: 每轮批量大小
imgsz=640: 用于训练的目标图像大小(所有图像在进入模型时都会调整到这个尺寸)
save=True: 是否保存
workers=8: 工作线程数
cache=Flase: 在内存、磁盘上启用/禁用数据集图像的缓存
通过减少I/O来提高训练速度,代价是内存使用量增加
project: 保存训练输出时项目目录名称
name: 训练运行的名称 project/name
exist_ok=False: 若为True->允许覆盖现有project/name
pretrained=True: 是否从预先训练的模型开始训练 (布尔值/模型路径字符串)
optimizer=auto: 用于训练的优化器
verbose=False: 训练过程中启用详细输出
训练结束后会生成文件