Google ColabでYOLOを動かすことを検討してみる

Google ColabでYOLOを動かすことを検討してみる

今更ながらGoogle ColabというGPUが無料で使えるサービスがあることを知りました。YOLOでリアルタイム物体検出を行うには手元のPCのスペックが足りなすぎるので、こちらが使えるか試してみたいと思います。

自分のPCのGPUの種類については以下のサイトの方法で確認しました。

Windows10 グラフィックボードとディスプレイの確認方法

自分のノートPCのGPUを調べてみたらインテルのGPUでした。できればNVIDIAのGPUであってほしかったですね。まずは以下の記事の手順で動かそうとしてみましたが、こちらの方法では動かすことができませんでした。こちらはフレームワークの「Darknet」を使用して動かす方法です。

Windows環境でYOLO

次にフレームワークの「Keras」を使用して動かす方法であれば自分のPCでも動かすことができましたが、学習を行うと非常に遅いのでやはりGoogle Colabを使ったほうがよさそうです。

【物体検出】keras−yolo3の使い方

YOLO-v3 on Keras を使ってみる

ちなみにインテルとNVIDIAのGPUの違いについてはこちらの記事の説明が分かりやすいです。

CUDAとOpenCLどっちがいいの?

ここからが本題です。今回は導入までしか行いません。

参考にしたのは下記のサイト

Google Colaboratoryの無料GPU環境を使ってみた

【秒速で無料GPUを使う】TensorFow(Keras)/PyTorch/Chainer環境構築 on Colaboratory

ColaboratoryでChainer使ってYoloを動かす

導入までは上2つ、やってみたいこととしては3つ目の記事が参考になりそうです。分かりやすい記事が多くて有り難い。

とりあえず、1つ目の記事を参考にして導入までしてみました。

まずはColabのページにアクセスします。

https://colab.research.google.com

アクセスしたら「Python3の新しいノートブック」を選択します。

新しいノートブックができたら以下を入力して「Ctrl+Enter」で実行してみます。「hello colaboratory!」と表示できればOK。

次に「ランタイム」→「ランタイムのタイプを変更」を選択して、「GPU」を選びます。これでColab内の「GPU」が有効になるようです。

Colabには既にたくさんのパッケージがインストールされています。以下を入力してインストールされているものを確認してみます。

試しにTensorflowが使えるか以下のコードで試してみます。デバイス名が表示されればOK。

MNISTを実行してみます。

以下のコードを入力してGPUの種類を確認してみます。

現時点ではTesla T4が使われているようです。Teslaシリーズはデータサーバーなどの業務用として使用されていて、他には個人向けのGeForceシリーズなどがあるようです。GeForceとTeslaの違いについてはこちらの記事が分かりやすいです。

GeForce と TESLA の違い

では、このTesla T4の性能はGeForceと比較するとどうなのか気になると思います。単純比較はできないようですが以下のサイトで点数比較してみると「Tesla T4」と「Palit GeForce GTX 1060 Dual」が大体同じような点数となるようです。

Nvidia Tesla T4 vs Palit GeForce GTX 1060 Dual

上記で「Tesla T4」は「GeForce GTX 1060」と同じぐらいということが分かりましたので、こちらのサイトで「GeForce GTX 1060」がどこに該当するか見てみます。

ベンチマークによるGPU性能比較

GeForce GTX1060のあたりをベンチマーク順に並べてみるとこのようになります。

GeForce GTX1050 < GeForce GTX1650 < GeForce GTX1060(≒Tesla T4) < GeForce GTX1070

DELLの最新のノートPC(XPS15)にはGeForce GTX1650が搭載されていますので、これと同等以上のGPUを無料で使用できるということになります。すばらしい。

私の認識に間違いなどがありましたらコメントください。

次に参考記事にあったCPUとGPUの性能を比較するコードを入力して実行してみます。参考サイトでは「9倍」とありましたが、実際に行ってみるとなんと「38倍」の差がありました。GPUのほうが圧倒的に早いようです。

今後YOLOを使うときはCorabを使ったほうが良さそうだということが分かりました。

続きはこちらの記事に記載しています。

Google Colaboratory上でYOLOを動かして画像認識させてみた

1つ星 この記事が役に立ったらいいねをお願いします!
読み込み中...



AIカテゴリの最新記事