19 lines
1.0 KiB
Python
19 lines
1.0 KiB
Python
from ultralytics import YOLO
|
|
import os
|
|
|
|
# 训练分辨率与端侧推理对齐:tflite 导出/真机推理均为 704x704。
|
|
# 训练 1280 会让模型对"清晰大目标"自信,推理时目标变小置信度崩坏(误报根源)。
|
|
# multi_scale=0.5 随机缩放输入 0.5~1.5x,进一步抗尺度漂移。
|
|
# 训练完成后导出 tflite(imgsz=704,与训练一致)。
|
|
os.chdir("/opt/pheasant_data")
|
|
model = YOLO("yolov8n.pt")
|
|
model.train(data="datasets/yolo/dataset.yaml", imgsz=704, epochs=150,
|
|
patience=30, batch=16, device=0, workers=4,
|
|
# project 必须绝对路径,相对路径会被拼到默认 runs/detect 下造成双层嵌套
|
|
project="/opt/pheasant_data/runs/pheasant", name="yolov8n_704",
|
|
exist_ok=True, plots=True, multi_scale=0.5)
|
|
|
|
# 导出 tflite:输入固定 [1,3,704,704],与 flutter_app/assets/model.tflite 一致
|
|
model.export(format="tflite", imgsz=704)
|
|
print("EXPORT_DONE: /opt/pheasant_data/runs/pheasant/yolov8n_704/weights/best.tflite")
|