序言
整理来自yolov8官方文档常用的一些命令行参数,官方文档YOLOv8 Docs
yolov8命令行的统一运行格式为:
yolo TASK MODE ARGS
其中主要是三部分传参:
- TASK(可选) 是[detect、segment、classification]中的一个。如果没有显式传递,YOLOv8将尝试从模型类型中猜测TASK。
- MODE(必选) 是[train, val, predict, export]中的一个
- ARGS(可选) 是任意数量的自定义arg=value对,如imgsz=320,覆盖默认值。
一、训练参数
训练命令行示例:
# 从YAML中构建一个新模型,并从头开始训练
yolo detect train data=coco128.yaml model=yolov8n.yaml epochs=100 imgsz=640
# 从预先训练的*.pt模型开始训练
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640
# 从YAML中构建一个新的模型,将预训练的权重传递给它,并开始训练
yolo detect train data=coco128.yaml model=yolov8n.yaml pretrained=yolov8n.pt epochs=100 imgsz=640
对应python代码示例:
from ultralytics import YOLO
# Load a model
model = YOLO('yolov8n.yaml') # 从YAML中构建一个新模型
model = YOLO('yolov8n.pt') #加载预训练的模型(推荐用于训练)
model = YOLO('yolov8n.yaml').load('yolov8n.pt') # 从YAML构建并传递权重
# Train the model
model.train(data='coco128.yaml', epochs=100, imgsz=640)
一些比较常用的传参:
| key | 解释 |
|---|---|
| model | 传入的model.yaml文件或者model.pt文件,用于构建网络和初始化,不同点在于只传入yaml文件的话参数会随机初始化 |
| data | 训练数据集的配置yaml文件 |
| epochs | 训练轮次,默认100 |
| patience | 早停训练观察的轮次,默认50,如果50轮没有精度提升,模型会直接停止训练 |
| batch | 训练批次,默认16 |
| imgsz | 训练图片大小,默认640 |
| save | 保存训练过程和训练权重,默认开启 |
| save_period | 训练过程中每x个轮次保存一次训练模型,默认-1(不开启) |
| cache | 是否采用ram进行数据载入,设置True会加快训练速度,但是这个参数非常吃内存,一般服务器才会设置 |
| device | 要运行的设备,即cuda device =0或Device =0,1,2,3或device = cpu |
| workers | 载入数据的线程数。windows一般为4,服务器可以大点,windows上这个参数可能会导致线程报错,发现有关线程报错,可以尝试减少这个参数,这个参数默认为8,大部分都是需要减少的 |
| project | 项目文件夹的名,默认为runs |
| name | 用于保存训练文件夹名,默认exp,依次累加 |
| exist_ok | 是否覆盖现有保存文件夹,默认Flase |
| pretrained | 是否加载预训练权重,默认Flase |
| optimizer | 优化器选择,默认SGD,可选[SGD、Adam、AdamW、RMSProP] |
| verbose | 是否打印详细输出 |
| seed | 随机种子,用于复现模型,默认0 |
| deterministic | 设置为True,保证实验的可复现性 |
| single_cls | 将多类数据训练为单类,把所有数据当作单类训练,默认Flase |
| image_weights | 使用加权图像选择进行训练,默认Flase |
| rect | 使用矩形训练,和矩形推理同理,默认False |
| cos_lr | 使用余弦学习率调度,默认Flase |
| close_mosaic< |

最低0.47元/天 解锁文章
1万+

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



