【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/)から、インストーラを入手する

1_11_build_toolsをダウンロード

ダウンロードしたファイルを実行
(画像では「vs_buildtools__1608834363.1607131602.exe」)

画像2

以下の場所にチェックが入っているか確認
・画面左側(赤枠部分)
 ・C++ Build Tools
・画面右側(青枠部分)
 ・MSVC v142 - VS 2019 C++ x64/x86 ビルドツール
 ・Widnows 10 SDK
 ・Windows用C++ Cmakeツール
 ・ツール用のコア機能のテスト - ビルドツール(不要かも)

1_14_windows10_SDKも必要

右下のボタンをクリックする(容量があるため、時間がかかる)
完了したら、念のためPCを再起動する

3、一部ライブラリを手動で入れる(pytorch, torchvision)

pytorch公式サイト(https://pytorch.org)から、whlでダウンロード。
ファイル名を指定してpipで導入する

pytorch公式サイトで、導入コマンドを確認
対応バージョンを確認しておく
(このコマンドを入力してもエラーが返ってきた)

1_4_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)

pytorch_1_7_1のwhl

画像6

それぞれファイル名を指定して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

16_pip_listライブラリ確認

これで環境構築完了

5、YOLOv5のサンプルを実行する

サンプルにあるバスの画像(yolov5/data/images/bus.jpg)を使って予測させてみる
detect.pyのディレクトリで以下のコマンドで予測する

> python detect.py --source data\images\bus.jpg

正常実行されれば、以下の場所に結果を可視化した画像が出力される(yolov5/runs/detect/exp*)

19_識別結果付きの画像出力場所

※初回実行時はモデルのダウンロードが発生するため、
 結果が出力されるまで、少し時間がかかる。

17_detect_py実行(初回モデルDLあり)

まとめ

Windows10 CPU環境でYOLOv5のサンプルを実行した
VOTT等ラベル付けツールを使用して、YOLOv5を転移学習させてみるのも面白そうですね!

この記事が気に入ったらサポートをしてみませんか?