目次
1.YOLOV8の紹介
Yolov8 の構造図:
YoloV5 に対する YoloV8 の変更点:
C3 モジュールを C2f モジュールに置き換えます。
バックボーン内の最初の 6x6 コンバージョンを 3x3 コンバージョンに置き換えます。
2 つの Conv (YOLOv5 構成の No.10 と No.14) を削除します。
ボトルネック内の最初の 1x1 コンバージョンを 3x3 コンバージョンに置き換えます。
分離されたヘッドを使用し、オブジェクト性ブランチを削除します。
アンカーフリー。
YoloV8 の精度比較:
2.YOLOV8のインストール
簡単に使用するだけであれば、次の記事を読んでください。
YOLOv8 乳母レベルのチュートリアル (独自のデータセットのトレーニング)_Chen Ziyi のブログ - CSDN ブログ
モデルの構造を変更したい場合は、以下を読み続けてください。
2.1 環境構成
まず、 anacondaを使用して Python 環境を構築することをお勧めします(方法がわからない場合は、次のブログを参照してください)
最新の Anaconda インストール - ナニー レベルのチュートリアル_Chen Ziyi のブログ - CSDN ブログ
conda create -n YOLOv8 python=3.8 #创建YOLOv8的环境
conda activate YOLOv8 #激活环境
pytorchをインストールする
CUDA 11.6
pip install torch==1.12.0+cu116 torchvision==0.13.0+cu116 --extra-index-url https://download.pytorch.org/whl/cu116 -i https://pypi.tuna.tsinghua.edu.cn/simple
CUDA 11.3
pip install torch==1.12.0+cu113 torchvision==0.13.0+cu113 --extra-index-url https://download.pytorch.org/whl/cu113 -i https://pypi.tuna.tsinghua.edu.cn/simple
1 つ選択してください
依存関係パッケージをインストールする
pip install -r requirements.txt -i https://pypi.mirrors.ustc.edu.cn/simple/
pycharm を開いて環境を読み込みます。
Python のバージョンを選択すると、通常は新しく作成される conda インタープリターが自動的にポップアップします。
次に、一番下の pycharm のターミナルを開きます。
これを選んでください
Ultralytics パッケージをインストールしている場合はアンインストールしてください。インストールしていない場合は、この手順をスキップしてください。
Python setup.py インストールを実行します。
途中で何が起こるかは気にしないでください
インストールが成功したかどうかを判断する方法は、主に、最終出力に Ultralytics の Finished 処理依存関係が含まれているかどうかによって決まります。
3. データセットの準備
リンク: https://pan.baidu.com/s/1FaBTUQvceUJJu3s1dg4xMg
抽出コード: ypwa
私たちは誰でも使えるスチールデータセットを用意しました。
data.yamlを次のパスに置きます
データセットは次のパスに配置できます。
yamlのアドレスを変更する
マイトレインファイルを作成する
次のコードを入れてください
from ultralytics import YOLO
# model = YOLO('yolov8n-CF2_ATT.yaml')
# model.train(data='data.yaml', epochs=5)
model = YOLO('yolov8n.yaml')
model.train(data='data.yaml', epochs=10)
model.train 関数のパラメーターは以下で選択されます。
設定後はトレーニングを行うことができ、必要に応じてモデル設定ファイルを変更することもできます。
結果を見る
valを設定する
from ultralytics import YOLO
model = YOLO(r'D:\YOLOv8\ultralytics\models\yolo\detect\runs\detect\train11\weights\best.pt')
# It'll use the data yaml file in model.pt if you don't set data.
model.val()
# or you can set the data you want to val
model.val(data='data.yaml')
以上が完全なプロセスです
次の記事では、yolov8 で発生する可能性のあるエラーをリストします。