2025-10-21 14:11:52 +08:00
|
|
|
|
from ultralytics import YOLO
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
|
|
# ✅ 推荐:加载官方预训练模型 或 自己的 best.pt
|
|
|
|
|
|
# model = YOLO('yolo11m-obb.pt') # 官方预训练(如果有)
|
2025-12-11 08:37:09 +08:00
|
|
|
|
model = YOLO(r'/home/hx/yolo/ultralytics_yolo11-main/runs/train/exp_obb_new/weights/best.pt') # 使用 best 而非 last
|
2025-10-21 14:11:52 +08:00
|
|
|
|
|
|
|
|
|
|
results = model.train(
|
|
|
|
|
|
data='obb_data1.yaml',
|
2025-12-11 08:37:09 +08:00
|
|
|
|
epochs=500, # 减少 epochs,配合早停
|
2025-10-21 14:11:52 +08:00
|
|
|
|
patience=0, # 50 轮无提升则停止
|
|
|
|
|
|
imgsz=640,
|
|
|
|
|
|
batch=4,
|
|
|
|
|
|
workers=10,
|
|
|
|
|
|
device='0',
|
|
|
|
|
|
project='runs/train',
|
|
|
|
|
|
name='exp_obb5', # 建议递增实验编号
|
|
|
|
|
|
exist_ok=False,
|
|
|
|
|
|
|
|
|
|
|
|
# 优化器
|
|
|
|
|
|
optimizer='AdamW',
|
|
|
|
|
|
lr0=0.0005, # 更稳定的学习率
|
|
|
|
|
|
weight_decay=0.01,
|
|
|
|
|
|
momentum=0.937,
|
|
|
|
|
|
|
|
|
|
|
|
# 数据增强(OBB 关键)
|
|
|
|
|
|
degrees=5.0, # 随机旋转 ±10°
|
|
|
|
|
|
translate=0.1, # 平移
|
|
|
|
|
|
scale=0.5, # 缩放比例
|
|
|
|
|
|
shear=1.0, # 剪切
|
|
|
|
|
|
flipud=0.0, # 不推荐上下翻转(角度易错)
|
|
|
|
|
|
fliplr=0.5, # ✅ 水平翻转,OBB 支持良好
|
|
|
|
|
|
hsv_h=0.015, # 色调扰动
|
|
|
|
|
|
hsv_s=0.7, # 饱和度
|
|
|
|
|
|
hsv_v=0.4, # 明度
|
|
|
|
|
|
|
|
|
|
|
|
# 其他
|
|
|
|
|
|
close_mosaic=50, # 最后10轮关闭 Mosaic 增强,提升稳定性
|
|
|
|
|
|
val=True, # 每轮验证
|
|
|
|
|
|
)
|