Tensorflowでライオンとネコを検出する with GPU 1/2

AI

はじめに

前回、AIでライオンとネコを検出する!と題してTensorflowを使ってObject Detectionをやってみました。うまく識別はできたのですが、CPUで学習を行ったため大変時間がかかってしまいました。今回はGPUを使ってやってみようと思います。

ちょっと長くなるので2回に分けます。今回は1回目。

前提

今回は、GoogleのGPUインスタンスを使ってやってみようと思います。

GCP(Google Cloud Platform)を使えるようにアカウントの取得等はしておいてください。

本稿ではサーバ(VM)が作成できる状況から始めます。

環境構築

まずは、GCPでGPUを搭載したVMのインスタンスを作成します。

GPUの使用申請

GCPの「IAMと管理」の画面で「割り当て」を選択します。

割り当ての画面で指標で「gpu」と入力するとgpuに関するサービスがリストアップされます。

いろいろと種類がありますが、それぞれで性能と価格が違います。価格のイメージとしては下記のような感じ。

とりあえず、今回は初めてなので一番安いK80をつってみようと思います。自分でVMを作成したいロケーションのサービスを選択して、上部の「割り当てを編集」をクリックして申請します。

 

申請すると、大体早ければ数時間で、遅くとも2日くらいで割り当てをしてくれます。

GPUインスタンスの作成

GPUインスタンスの作成は簡単で、通常のVMインスタンスの作成画面で、CPUの設定のところでGPUを追加し、OSにGPU対応のTensorflowが含まれているものを選択するだけです。

GPUの追加は下記のようにGPUの指定のところで指定してあげます。

OSは下記のとおり、CUDAとTensorFlowが入っているものを選びます。

あとは、IPアドレスの設定など通常のVMの設定をしましょう。

基本はsshでログインして捜査をしますので、sshでログインできるようにはしておいてください。

 

環境構築

GPUの設定

ログインをすると最初にドライバをインストールするかを聞いてきますので、「y」と回答してください。これだけでGPUが使える環境になります。

 

GPUが正しく認識できているかはnvidia-smiを実行してください。下記のはK80を8個搭載した場合の例です。しっかりと8個認識できていますね。

 

ここまでできればあとはObject Detectionの設定をして行くだけです。

次回へ

 

コメント