✍️

YOLO のリポジトリをクローンして学習させる手順

2024/12/17に公開

こんにちは!『麦ちゃーはん』です。

備忘録として、YOLOのリポジトリをクローンして学習させる手順をまとめておきます。

リポジトリのクローン

git clone https://github.com/ultralytics/yolov5.git

まず、YOLOのリポジトリをクローンします。今回クローンするモデルは、YOLOv5にしました。

yolov5ディレクトリに移動

cd yolov5

yoloのファイルにアクセスするために、リポジトリを移動します。

必要なライブラリをインストール

pip install -r requirements.txt

これで必要なライブラリを一括インストールします。

データセットのディレクトリ構造

以下は、学習用データセットのディレクトリ構造です。

dataset/
├── images/
│   ├── train/
│   │   ├── image1.jpg
│   │   ├── image2.jpg
│   │   └── ...
│   └──  val/
│      ├── image3.jpg
│       ├── image4.jpg
│       └── ...
├── labels/
│   ├── train/
│   │   ├── image1.txt
│   │   ├── image2.txt
│   │   └── ...
│   └── val/
│       ├── image3.txt
│       ├── image4.txt
│       └── ...
└── data.yaml  

yamlファイル

以下は、yamlファイルの内容です。自身のデータセットに合わせて書き換えてください。

# データセットのルートディレクトリ(全体の基準となるパス)
path: 〈datasetのパス〉

# トレーニングデータの画像が保存されているサブディレクトリ
train: images/train  

# 検証データの画像が保存されているサブディレクトリ
val: images/val  

# クラス数(検出するオブジェクトの種類の数)
nc: 3

# クラス名のリスト(検出対象のオブジェクト名を定義)
names: ['class1', 'class2','class3']  

学習開始コマンド

python train.py --data 〈任意のyamlファイルのパス〉 --cfg yolov5s.yaml --weights yolov5s.pt --epochs 150 --batch-size 32 --img 640

学習を実行するコマンドの例です。

〈yamlファイルのパス〉では、作成したカスタムデータセット用のyamlファイルを指定しています。

学習には、YOLOv5sを用いています。

モデル検証コマンド

python detect.py --weights 〈任意の重みファイルのパス〉 --source data/images --img 640 --conf 0.25

学習によって作成したモデルを検証するコマンドの例です。

〈重みファイルのパス〉では、学習して出来上がったbest.ptなどのファイルを指定します。

おわりに

今回は YOLOのリポジトリをクローンして学習させる手順についてまとめました。

自分用のメモが中心で、箇条書きの形式にはなってしまいましたが、皆さまのお役に立てれば幸いです。

ここまでお読みいただき、心から感謝いたします。

Discussion