1、ultralytics版本为8.3.179
2、设置yaml配置文件(注意文件夹目录格式)
# train: /home/xxx/data/defectsface # train images (relative to 'path') 128 images
# val: /home/xxx/data/defectsface # val images (relative to 'path') 128 images
# test: /home/xxx/data/defectsface
###########注意格式(放置数据格式)
# train
# ---- images
# ------ *png
# ---- labels
# ------ *txt
# 多个数据集混合使用
train:
- /home/xxx/data/blackwhite # train images (relative to 'path') 128 images
# - /data/defectsface1 # train images (relative to 'path') 128 images
val:
- /home/xxx/data/blackwhite # val images (relative to 'path') 128 images
# test: /data/defectsface
nc: 2
# Classes
#names: ['scrapingNozzle','black','white','impurityOthers','filiform','mole']
names: ['black','white']
#names: ['scrapingNozzle','impurityOthers','filiform']
3、训练文件,注意训练参数
import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO
if __name__ == '__main__':
model=YOLO('./yolo12s.pt') #yolo12s.pt
results = model.train(
# data='./data_other.yaml', #数据集配置文件的路径
data='./data_blackwhite.yaml', #数据集配置文件的路径
warmup_epochs=10, #学习率预热轮次。在训练初期逐步提高学习率以避免震荡
epochs=200, #训练轮次总数
batch=16, #批量大小,即单次输入多少图片训练 m:6 s:16
imgsz=1408, #训练图像尺寸
scale=0.1, #S:0.9 L:0.9 X:0.9 图像缩放比例
fliplr=0.4, #图像水平翻转概率
mosaic=0.5, #Mosaic数据增强使用概率(0-1)
mixup=0.5, #Mixup数据增强使用概率
hsv_h=0, #图像色调(Hue)增强幅度(范围0-0.1)
hsv_s=0, #图像饱和度(Saturation)增强幅度(范围0-1)
hsv_v=0.05, #图像亮度(Value)增强幅度(范围0-1)
workers=8, #加载数据的工作线程数
device= "0,1", #指定训练的计算设备,无nvidia显卡则改为 'cpu'
optimizer='SGD', #训练使用优化器,可选 auto,SGD,Adam,AdamW 等
amp= False, #True 或者 False, 解释为:自动混合精度(AMP) 训练
cache=True, # True 在内存中缓存数据集图像,服务器推荐开启
pretrained ='./yolo12s.pt', #预训练权重
name="./blackwhite" #保存文件目录(保存在run/detect下)
# name="./other"
)
上面的数据增强部分要深思,要根据实际数据的特点和情况进行修改