Files
observer/training/train_local.py
T

22 lines
701 B
Python

from ultralytics import YOLO
import os
BASE = os.path.dirname(os.path.abspath(__file__))
YOLO_DIR = os.path.join(BASE, "datasets/yolo")
data = os.path.join(YOLO_DIR, "dataset_local.yaml")
with open(data, "w", encoding="utf-8") as f:
f.write(f"""path: {YOLO_DIR}
train: images/train
val: images/val
names:
0: pheasant
1: suspect
""")
model = YOLO("yolov8n.pt")
model.train(data=data, imgsz=1024, epochs=150, patience=30, batch=8,
device="mps", workers=4,
# project 必须绝对路径,相对路径会被拼到默认 runs/detect 下造成双层嵌套
project=os.path.join(BASE, "runs/pheasant"), name="yolov8n_1024",
exist_ok=True, plots=True)