Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

YOLOv7のトレーニングおよび検証を行う

License

MIT, GPL-3.0 licenses found

Licenses found

MIT
LICENSE
GPL-3.0
LICENSE.md
Notifications You must be signed in to change notification settings

TechC-SugarCane/train-YOLOv7

Repository files navigation

YOLOv7のファインチューニング

公式のリポジトリからフォークして、独自のデータセットでファインチューニングを行うためのリポジトリです。

フォーク元: WongKinYiu/yolov7

環境

  • Python: 3.10.11
  • CUDA: 11.8

Setup

1. リポジトリをクローン

git clone git@github.com:TechC-SugarCane/train-YOLOv7.git

cd train-YOLOv7

2. Pythonの環境構築

pyenvを使うので、パソコンに入っていない人はCONTRIBUTING.mdを参考にしながらインストールしてください。

pyenv install

3. 仮想環境を作成

python -m venv .venv

4. 仮想環境を有効化

# mac
source .venv/bin/activate

# windows
.venv\Scripts\activate

※ 環境から抜ける場合は、deactivateコマンドを実行してください。

5. 依存パッケージをインストール

# CPUで推論を行う場合
pip install -r requirements-cpu.txt

# GPUで推論を行う場合
pip install -r requirements-gpu.txt

Training

事前学習済みモデルとしてyolov7-d6.ptを使用するので、こちらからダウンロードしてweightsディレクトリに配置してください。

1. データセットのダウンロード

データセットは 一階層上にmanage-datasetリポジトリをcloneし、manage-dataset/READMEに従ってダウンロードしてください。

# clone済みの人はスキップ
cd ..
git clone git@github.com:TechC-SugarCane/manage-dataset.git

2. 学習の実行

ターミナルで以下のコマンドを入力し学習を開始します。
--epochsで学習を行う回数を指定できます。 学習の回数によってかかる時間は変わってきます。

# sugarcane
# タスク的にはp5のtrain.pyを使うべきですが、
# train.pyだとエラーが出るので、tiny以外はtrain_aux.pyを使います
python train_aux.py --workers 8 --batch-size 8 \
  --data ../manage-dataset/datasets/sugarcane/data.yaml \
  --cfg cfg/training/yolov7-d6.yaml \
  --weights weights/yolov7-d6.pt \
  --name yolov7-d6-sugarcane \
  --hyp data/hyp.scratch.sugarcane.yaml \
  --epochs 250 \
  --device 0

# pineapple
python train_aux.py --workers 8 --batch-size 8 \
  --data ../manage-dataset/pineapple/data.yaml \
  --cfg cfg/training/yolov7-d6.yaml \
  --weights weights/yolov7-d6.pt \
  --name yolov7-d6-pineapple \
  --hyp data/hyp.scratch.pineapple.yaml \
  --epochs 250 \
  --device 0

[補足] yolov7-tinyを学習させる場合

train_aux.pyを使うとエラーが出るので、train.pyを使います。

# sugarcane
python train.py --workers 8 --batch-size 8 \
  --data ../manage-dataset/datasets/sugarcane/data.yaml \
  --cfg cfg/training/yolov7-tiny.yaml \
  --weights weights/yolov7-tiny.pt \
  --name yolov7-tiny-sugarcane \
  --hyp data/hyp.scratch.sugarcane.yaml \
  --epochs 250 \
  --device 0

# pineapple
python train.py --workers 8 --batch-size 8 \
  --data ../manage-dataset/pineapple/data.yaml \
  --cfg cfg/training/yolov7-tiny.yaml \
  --weights weights/yolov7-tiny.pt \
  --name yolov7-tiny-pineapple \
  --hyp data/hyp.scratch.pineapple.yaml \
  --epochs 250 \
  --device 0

コントリビューター向けガイドライン

コントリビューター向けのガイドラインについては、こちらのCONTRIBUTING.mdを参照してください。

About

YOLOv7のトレーニングおよび検証を行う

Topics

Resources

License

MIT, GPL-3.0 licenses found

Licenses found

MIT
LICENSE
GPL-3.0
LICENSE.md

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •