スポンサーリンク

【YOLO】GPU使用と非使用でのYOLOの処理速度の違い。

YOLO
スポンサーリンク

今回の記事は領域検出で有名なC言語オープンソースAPIのYOLOの処理速度がGPU搭載のマシンとそうでないマシンによってどの程度の際になるのかを検証していきます。

スポンサーリンク

GPUとYOLOなどの環境

GPU環境

cuda: 10.0.130.1
cudnn:7.42
mccl:2.4.7-1

YOLOバージョン

yolov3のweightをダウンロードして使用

環境構築

GPU環境と非GPU環境で環境構築方法が違います。

build時のMakefileの記述を少し変更するのみなのです簡単です。
詳しくは下記記事を参照ください。

今回の記事上ではGPUあり版の環境構築を行います。

apt-get update
apt get install git vim
git clone https://github.com/pjreddie/darknet.git
cd darknet

vimなりなんなりでMakefile修正
======修正点=======
GPU=0 → GPU=1
cud=0 → cud=1

make
wget https://pjreddie.com/media/files/yolov3.weights
./darknet detect cfg/yolov3.cfg yolov3.weights data/eagle.jpg

処理速度の違い検証

では実際に処理速度をみていきましょう。
使用する画像は鳥の画像を使用してみます。

GPUなし版の場合。

./darknet detect cfg/yolov3.cfg yolov3.weights data/eagle.jpg
layer     filters    size              input                output
    0 conv     32  3 x 3 / 1   608 x 608 x   3   ->   608 x 608 x  32  0.639 BFLOPs
    1 conv     64  3 x 3 / 2   608 x 608 x  32   ->   304 x 304 x  64  3.407 BFLOPs
  〜〜〜〜〜〜〜〜〜省略〜〜〜〜〜〜〜〜〜
  105 conv    255  1 x 1 / 1    76 x  76 x 256   ->    76 x  76 x 255  0.754 BFLOPs
  106 yolo
Loading weights from yolov3.weights...Done!
data/eagle.jpg: Predicted in 25.496686 seconds.
bird: 99%

約25秒で処理完了です。時間としては長いかな。。

GPUあり版の場合。

./darknet detect cfg/yolov3.cfg yolov3.weights data/eagle.jpg
layer     filters    size              input                output
    0 conv     32  3 x 3 / 1   608 x 608 x   3   ->   608 x 608 x  32  0.639 BFLOPs
    1 conv     64  3 x 3 / 2   608 x 608 x  32   ->   304 x 304 x  64  3.407 BFLOPs
  〜〜〜〜〜〜〜〜〜省略〜〜〜〜〜〜〜〜〜
  104 conv    256  3 x 3 / 1    76 x  76 x 128   ->    76 x  76 x 256  3.407 BFLOPs
  105 conv    255  1 x 1 / 1    76 x  76 x 256   ->    76 x  76 x 255  0.754 BFLOPs
  106 yolo
Loading weights from yolov3.weights...Done!
data/eagle.jpg: Predicted in 0.296851 seconds.
bird: 99%

なんと驚異の0.29秒。早すぎ。。
正直リアルタイム認識を行う場合はこの程度の処理速度が必要と思われるのでGPU使用はリアルタイム時には必須と感じます。約10倍の差が出ておりますね。これは驚きです。

以上が今回の検証でした。

スポンサーリンク
スポンサーリンク
スポンサーリンク

ブログに関しては500円程度かかりますが、それ以外は無料です。知識の吸収と並行してアウトプットは非常に効率が良いです。テックアカデミーに関しては講座レベルが高いにも関わらず、無料体験や人気口座も大幅値下げがあるので、重点的に学びたいものを無料体験してみてください。

転職時にも、エンジニアからテックアカデミー・Paizaは認知度が高いので、未経験入社採用を行う際履歴書で目に留まります。特にPaizaのスキルレベルA・SなどはIT業界でも評価されます。

テックアカデミー・Paizaの無料登録ができる期間中にぜひご利用してみてください。私も活用経験ありです。

YOLO
スポンサーリンク
スポンサーリンク

コメント

  1. […] 【YOLO】GPU使用と非使用でのYOLOの処理速度の違い。 […]

タイトルとURLをコピーしました