🐨

【物体検出】YOLOv5のオプションまとめ

2021/10/18に公開

2021/10/18 (最終更新日: 2021/10/18)

はじめに

YOLOv5のtrain.pyとdetect.pyのオプションをまとめてみました。一つの表中でオプションは五十音順にソートしております。

引数がなしとなっているオプションはそのオプションを記述することでflagが立つ(True)となるオプションです。

いくつかは私の理解不足で説明を省いていたりするものもありますがご容赦ください。
(順次アップデートしていければと考えております。)

train.pyのオプション

よく使うオプション

option 引数 説明 default
batch int バッチサイズ指定 16
data str 学習データの情報を記載したyamlファイルのpath サンプルデータのcoco128が読み込まれる
cfg str 使用するYOLOのバージョン指定 ' '
epochs int エポック数指定 300
exist-ok なし 学習結果を上書き保存する False
img
(imgsz, img-sizeでもよい)
int 学習画像のサイズを指定 640
name str 学習結果を保存するディレクトリ名を指定 'exp' (注*2)
patience int EarlyStopの設定
指定したepoch数中でモデル精度が向上しなければ学習を打ち切る
100
project str 学習結果を保存するディレクトリを指定 ROOT / 'runs/train' (注*1)
single-cls なし 多クラスにラベル付けされていても単一クラスとして扱う
(物体の検出のみ行う)
False
weights str 学習済み重みを指定
(例えば'yolov5x.pt'とファイルのパスを指定しなくてもOK)
ROOT / 'yolov5s.pt' (注*1)


その他オプション

option 引数 説明 default
adam なし Adam optimizerを使用する Fasle(SGDが指定される)
bucket str - ' '
cache str cashの保存先指定(ram or disk) 'ram'
device 使用プロセッサの指定(0 or 0,1,2,3 or cpu) ' ' (cudaが指定される)
evolve int ハイパーパラメータのバージョン指定
いじったことない
None
freeze int 学習しない層を指定 0
hyp str ハイパーパラメータの指定
いじったことない
image-weights なし - False
label-smoothing float - 0.0
linear-lr なし - False
multi-scale なし 画像サイズを±50%変化させる False
noautoanchor なし 自動アンカーチェックの無効化 False
nosave なし 最終checkpointのみ保存 False
quad なし - False
rect なし - -
resume なし - False
sync-bn なし SyncBatchNormを使用する
DDPモードでのみ使用可能
False
save_period int 指定epoch毎にチェックポイントを保存する -1 (無効)\
workers int データローダーワーカーの最大数 8

detect.pyのオプション

よく使うオプション

option 引数 説明 default
conf float クラス判定の閾値指定 0.25
exist-ok なし 推論結果を上書き保存する False
img
(imgsz, img-sizeでもよい)
int 推論対象の画像のサイズを指定 640
name str 推論結果を保存するディレクトリ名を指定 'exp' (注*2)
project str 推論結果を保存するディレクトリを指定 ROOT / 'runs/train' (注*1)
save-txt なし 推論結果(検出座標と予測クラス)をtxtファイルに出力する False
save-conf 推論結果(クラスの確率)をtxtファイルに出力する False
sorce str 推論対象の画像が格納されたディレクトリまでのパス ROOT / 'data/images' (注*1)
weights str 学習済み重みを指定 ROOT / 'yolov5s.pt'


その他オプション

option 引数 説明 default
agnostic-nms なし False
augment なし 拡張推論 False
classes int クラスフィルタ
device 使用プロセッサの指定(0 or 0,1,2,3 or cpu) ' ' (cudaが指定される)
iou-thres folat 0.45
max-det int 1枚の画像で検出する物体数の最大 1000
nosave なし 画像を保存しない False
save-crop なし 予測画像を検出座標でトリミングしたものを保存 False
update なし モデルをアップデートする False
view-img なし 結果を表示 False
visualize なし 特徴を可視化 False

注釈

*1: ROOTはtrain.py、detect.pyが存在する階層
*2: exsit_okがFalseの場合、学習を行う度にexpの後に連番が振られる

Discussion