YOLOv8 :
和 YOLOv5 一样,基于缩放系数也提供了 N/S/M/L/X 尺度的不同大小模型,用于满足不同场景需求
因为之前的yolov3、v5都有train.py、val.py,但是到v8主要采用命令行输入,然后我感觉命令行运行比较麻烦,特别是改参数的时候。
在这里主要讨论一下,关于yolov8如何新建train.py和val.py进行训练以及验证。
训练-新建train.py
import warnings
warnings.filterwarnings('ignore') #消除一些无用的警告
from ultralytics import YOLO
if __name__ == '__main__':
model = YOLO('D:\\js\\yolov8-main\\ultralytics\\cfg\models\\v8\\MUF-yolov8s-DWFasterNet-2.yaml')
#model = YOLO('yolov8s.pt')
results = model.train(data='D:\\js\\yolov8-main\\GC10_yolov5\\GC10-DET.yaml', epochs=200, batch = 8, workers = 8)
- 💡windows系统下,如果想设置workers不为0,那么就需要加上 if name == ‘main’ ,否则会报错。
验证-新建val.py
import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO
if __name__ == '__main__':
model = YOLO(r'runs\detect\\train2\weights\best.pt') #输入训练好的权重文件路径
model.val(data='mydata\\neu.yaml',
#data = 'GC10_yolov5\\GC10-DET.yaml', #数据集路径
split='val',
batch=8,
# rect=False,
# save_json=True, # if you need to cal coco metrice
project='runs/val',
name='exp',
)
总结🐱🏍
使用train.py,val.py进行模型训练以及验证,个人认为比较方便。初学v8的时候,对于命令行输入感觉很麻烦也很蒙圈,因此记录一下,希望对一些初学者有所帮助!