【python】YOLOv5のサンプルをCPU環境で実行【windows10】
概要
YOLOv5を実際に自分のPCで動かしてみた
GPUなんて大層な物は積んでいないため、CPU版を導入してみた
環境
使用PCスペック
・Windows10 Home 64bit
・CPU:Intel Core(TM) i5-3230M CPU @ 2.60GHz
・メモリ:4.00GB
python環境
・python:3.6.8
各種ソフト
・git:2.28.0.windows.1
苦戦したところ
・YOLOv5はpython3.6系安定(3.7以降はダメらしい)
>python3.6系を使用する(仮想環境推奨)
・pytorch(CPU版)の公式の方法でのインストールが失敗する
>whlファイルを保存・pipでファイル指定してインストールする
・pycocotoolsが入らない
>Microsoft Visualstudio C++ Build Toolsが必須
全体の流れ
1、YOLOv5本体を入手(git clone)
2、C++ Build Toolsの導入(pycocotools導入用)
3、一部ライブラリを手動で入れる(pytorch, torchvision)
4、pip install で残りの必要ライブラリを導入
5、YOLOv5のサンプルを実行する
1、YOLOv5本体を入手(git clone)
以下のコマンドを実行
> git clone https://github.com/ultralytics/yolov5.git
「YOLOv5」というフォルダが生成される
2、C++ Build Toolsの導入(pycocotools導入用)
公式サイト(https://visualstudio.microsoft.com/ja/downloads/)から、インストーラを入手する
ダウンロードしたファイルを実行
(画像では「vs_buildtools__1608834363.1607131602.exe」)
以下の場所にチェックが入っているか確認
・画面左側(赤枠部分)
・C++ Build Tools
・画面右側(青枠部分)
・MSVC v142 - VS 2019 C++ x64/x86 ビルドツール
・Widnows 10 SDK
・Windows用C++ Cmakeツール
・ツール用のコア機能のテスト - ビルドツール(不要かも)
右下のボタンをクリックする(容量があるため、時間がかかる)
完了したら、念のためPCを再起動する
3、一部ライブラリを手動で入れる(pytorch, torchvision)
pytorch公式サイト(https://pytorch.org)から、whlでダウンロード。
ファイル名を指定してpipで導入する
pytorch公式サイトで、導入コマンドを確認
対応バージョンを確認しておく
(このコマンドを入力してもエラーが返ってきた)
私の環境ではファイル名は以下の通りでした。
・torch-1.7.1+cpu-cp38-cp38-win_amd64.whl
・torchvision-0.8.2+cpu-cp38-cp38-win_amd64.whl
公式サイトのアーカイブ(https://download.pytorch.org/whl/torch_stable.html)から、
上記2つのwhlファイルをダウンロードする
場所は「Previous Versions Of PyTorch」→「Wheel」の「Linux and Windows」の「# CPU only」と書かれたすぐ下のコマンドの、URLをブラウザの検索に張り付ける(https://download.pytorch.org/whl/torch_stable.html)
それぞれファイル名を指定してpipで導入する
> pip install torch-1.7.1+cpu-cp38-cp38-win_amd64.whl
> pip install torchvision-0.8.2+cpu-cp38-cp38-win_amd64.whl
4、pip install で残りの必要ライブラリを導入
残りの必要ライブラリを導入する(ここでpycocotoolsも一緒に導入)
> pip install -r requirement.txt
実行後、下記コマンドで導入できているか確認
> pip list
出力確認
・pycocotools :2.0.2
・pytorch :1.7.1+CPU
・torchvision :0.8.2+CPU
これで環境構築完了
5、YOLOv5のサンプルを実行する
サンプルにあるバスの画像(yolov5/data/images/bus.jpg)を使って予測させてみる
detect.pyのディレクトリで以下のコマンドで予測する
> python detect.py --source data\images\bus.jpg
正常実行されれば、以下の場所に結果を可視化した画像が出力される(yolov5/runs/detect/exp*)
※初回実行時はモデルのダウンロードが発生するため、
結果が出力されるまで、少し時間がかかる。
まとめ
Windows10 CPU環境でYOLOv5のサンプルを実行した
VOTT等ラベル付けツールを使用して、YOLOv5を転移学習させてみるのも面白そうですね!