Google Cloud Platform で Deep Learning 環境を作成!
こんにちは、イノベーションオフィスの吉田です。
最近めっきり寒くなりましたね。
そんな中、弊社では今週末に1泊2日のハッカソンに行って参ります!
で、今はその準備中なのですが、 Google Cloud Platform(以下 GCP)で Deep Learning 環境を作成した際にちょっと躓いたので共有させていただきます。
GCPとは
ご存知の方も多いと思いますが、Google がクラウド上で提供するサービスの総称です。
Amazon の AWS や Microsoft の Azure と同じ感じですね。
詳しくは以下のサイトが参考になるかと思います。
インスタンスの作成
というわけで早速 Deep Learning 環境を作ってみましょう。
今回は Google Compute Engine を使いたいと思います。
AWS で言うところの EC2 みたいなもんです。
Cloud Machine Learning というのも有るのですが、今回はわかりやすい Compute Engine の方を使います。
というわけでまずは以下ページにアクセスします。
「Deep Learning VM」というタイトルと「COMPUTE ENGINE 上で起動」というボタンが見えるでしょうか?
こちらは GCP Marketplace 上のアイテムの1つで、数クリックで環境が作れてしまう便利機能になっています。
というわけで早速「COMPUTE ENGINE 上で起動」ボタンを押すとプロジェクトの紐付け画面が表示されます。
モザイクばかりで申し訳有りません(笑)
こちらでプロジェクトを選択して「開く」を押します。
するとデプロイの設定画面が開きますので、必要な項目を設定していきます。
Zone はできれば東京(asia-northeast1)にしたいところですが、GPUの割り当てが出来ないので asia-east1 辺りにするのが良いと思います。
あとは「Install NVIDIA GPU driver automatically on first startup?」にチェックをするのをお忘れなく。
で、「デプロイ」を押すとデプロイ処理が走るのですが・・・
はい、エラーが出ましたね(汗)
Quota 'GPUS_ALL_REGIONS' exceeded. への対応
エラーメッセージとしては「Quota 'GPUS_ALL_REGIONS' exceeded.」ということで、以下のサイトにも書いて有る通り GPU の割り当ての設定が必要なようです。
というわけで「IAMと管理 ⇒ 割り当て」を開いてみましょう。
ここでサービス・指標を選択するのですが、多すぎて最初は迷います(笑)
サービス:Compute Engine API
指標:GPUs(all regions)
を選択し、チェックして「割り当てを編集」しましょう。
※ここで NVIDIA K80 GPUs とか選んでもダメで少しハマりました・・・
編集画面で使いたい GPU の数とリクエストの説明を入力して「リクエストを送信」するとリクエストは完了です。
誤差は有りますが私の場合は1時間ほどで承認されて以下のような内容のメールが送られてくれば準備完了です。
あとは改めてデプロイしてみると・・・
出来ました!
あとはブラウザからコンソールが開けるので、SSH 等の設定をすればアクセス出来るようになります!
この環境は Python 2/3、tensorflow、Keras などが既にセットアップ済みなので後はガリガリ学習するのみです!
というわけで GCP についてでした。
社内ハッカソンに関してはまた別の機会にご紹介できればと思います。
それでは!
書いた人:イノベーションオフィス 室長 吉田