Denen blog

株式会社電縁の社員によるブログです。

Google Cloud Platform で Deep Learning 環境を作成!

こんにちは、イノベーションオフィスの吉田です。

最近めっきり寒くなりましたね。

そんな中、弊社では今週末に1泊2日のハッカソンに行って参ります!

で、今はその準備中なのですが、 Google Cloud Platform(以下 GCP)で Deep Learning 環境を作成した際にちょっと躓いたので共有させていただきます。

 

GCPとは

ご存知の方も多いと思いますが、Googleクラウド上で提供するサービスの総称です。

AmazonAWSMicrosoft の Azure と同じ感じですね。

詳しくは以下のサイトが参考になるかと思います。

www.cloud-ace.jp

 

インスタンスの作成

というわけで早速 Deep Learning 環境を作ってみましょう。

今回は Google Compute Engine を使いたいと思います。

AWS で言うところの EC2 みたいなもんです。

Cloud Machine Learning というのも有るのですが、今回はわかりやすい Compute Engine の方を使います。

 

というわけでまずは以下ページにアクセスします。

console.cloud.google.com

Deep Learning VM」というタイトルと「COMPUTE ENGINE 上で起動」というボタンが見えるでしょうか?

f:id:yasuaki-sakai:20181120122141j:plain

こちらは GCP Marketplace 上のアイテムの1つで、数クリックで環境が作れてしまう便利機能になっています。

 

というわけで早速「COMPUTE ENGINE 上で起動」ボタンを押すとプロジェクトの紐付け画面が表示されます。

f:id:yasuaki-sakai:20181120122524j:plain

モザイクばかりで申し訳有りません(笑)

こちらでプロジェクトを選択して「開く」を押します。

 

するとデプロイの設定画面が開きますので、必要な項目を設定していきます。

f:id:yasuaki-sakai:20181120122909j:plain

Zone はできれば東京(asia-northeast1)にしたいところですが、GPUの割り当てが出来ないので asia-east1 辺りにするのが良いと思います。

あとは「Install NVIDIA GPU driver automatically on first startup?」にチェックをするのをお忘れなく。

で、「デプロイ」を押すとデプロイ処理が走るのですが・・・

f:id:yasuaki-sakai:20181120123538j:plain

はい、エラーが出ましたね(汗)

 

Quota 'GPUS_ALL_REGIONS' exceeded. への対応

エラーメッセージとしては「Quota 'GPUS_ALL_REGIONS' exceeded.」ということで、以下のサイトにも書いて有る通り GPU の割り当ての設定が必要なようです。

www.m0de.ml

というわけで「IAMと管理 ⇒ 割り当て」を開いてみましょう。

ここでサービス・指標を選択するのですが、多すぎて最初は迷います(笑)

f:id:yasuaki-sakai:20181120124213j:plain

サービス:Compute Engine API

指標:GPUs(all regions)

を選択し、チェックして「割り当てを編集」しましょう。

※ここで NVIDIA K80 GPUs とか選んでもダメで少しハマりました・・・

f:id:yasuaki-sakai:20181120124449j:plain

編集画面で使いたい GPU の数とリクエストの説明を入力して「リクエストを送信」するとリクエストは完了です。

誤差は有りますが私の場合は1時間ほどで承認されて以下のような内容のメールが送られてくれば準備完了です。

Changed Quota:
+------------------+------------------+
| GLOBAL Attribute | GPUS_ALL_REGIONS |
+------------------+------------------+
|     Changes      |      0 -> 4      |
+------------------+------------------+

あとは改めてデプロイしてみると・・・

f:id:yasuaki-sakai:20181120125135j:plain

出来ました!

あとはブラウザからコンソールが開けるので、SSH 等の設定をすればアクセス出来るようになります!

この環境は Python 2/3、tensorflow、Keras などが既にセットアップ済みなので後はガリガリ学習するのみです!

k_yoshida@tensorflow-1-vm:~$ python3
Python 3.5.3 (default, Sep 27 2018, 17:25:39)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> print(tf.__version__)
1.12.0
>>> import keras
Using TensorFlow backend.
>>> print( keras.__version__ )
2.2.4

 

というわけで GCP についてでした。

社内ハッカソンに関してはまた別の機会にご紹介できればと思います。

それでは!

 

書いた人:イノベーションオフィス 室長 吉田

f:id:yasuaki-sakai:20171204190702j:plain