ラズパイ5で以下の設定でやってみたが、
yolo detect train model=yolov8n.pt data=data.yaml epochs=10 imgsz=128
1epoch に約17分、260epochsやって、mAP50-95が0.541程度でサチってしまうようだ。
Valデータに対して、検証すると総合正解率が50.1%で苦労に見合わない感じ。
本当はyolov8m.ptでimgsz=640ができると良いのだが、自分のラズパイ5は4Gタイプだし、ちょっと無理っぽい。
そこで、最近購入したM4-Mac-mini(24G)でやってみる事にした。
yolo detect train model=yolov8m.pt data=data.yaml epochs=100 imgsz=640 device=mps
device=mpsとしているので、GPUフル稼働 1epoch に約17分(たまたまラズパイと同じ)
しばらくはやっていたが、夜中にストール、再起動してしまった。(多分メモリーの使いすぎ)
仕方ないので、ちょっと妥協して
yolo detect train model=yolov8s.pt data=data.yaml epochs=100 imgsz=512 batch=16 device=mps
でやると
epochsが80程度で過学習が始まるようで、mAP50-95が0.86となる
この値ならまずまず良さげなモデルができたようだ。
Valデータに対して総合正解率: 80.23%
Testデータに対して総合正解率: 80.86% (valより高いのは不思議)
とりあえず、汎化性能も悪くない。
犬種によりデータ数にばらつきがあることと、
アノテーションが画像の90%固定にしてはまずまずかな?


p.s ちょっとラズパイでAIってコンセプトから外れますが...
できたモデルをラズパイに持っていき推論だけなら使えます。



