LoginSignup
16
12

More than 5 years have passed since last update.

Cloud Datalabで手軽にディープラーニングを始める

Last updated at Posted at 2018-01-02

Google Cloud PlatformのDatalabを使えば、15分位でMacやChromebookなどのブラウザだけでDeep Learningを始められます。

スクリーンショット 2018-01-08 11.45.41.png

datalab コマンドのインストール

GCPのCloud Shellを使う場合は、最初から datalab コマンドが使えます。
Macに datalab コマンドをインストールするなら

brew cask install google-cloud-sdk
gcloud components install datalab

Datalabインスタンスを作成

Datalabインスタンスmylabを作成します。

datalab create --zone asia-northeast1-a mylab --port 8080

数分でインスタンスの起動が終わり、接続ができる状態になると、

  • Cloud Shellでは Click on the *Web Preview* (square button at top-right), select *Change port > Port 8081*, and start using Datalab. というようなメッセージがコンソールに表示されるので、その通りに画面右上の四角いWeb PreviewボタンからChange port > Port 8081を選ぶと、Datalabの画面が出てきます。
  • Macなら、 You can connect to Datalab at http://localhost:8081/ というようなメッセージが表示され、ブラウザが自動的に開きます。

Datalabインスタンスへの接続

Datalabインスタンスへの接続を切断するには、単純にCloud ShellでCtrl-CすればOKです。

Datalabインスタンスをしばらく使っていないと、自動的に止まるようですが、明示的に停止するには

datalab stop mylab

次回Datalabインスタンスを立ち上げて利用するには

datalab connect mylab

必要なライブラリのインストール

DatalabにはデフォルトでTensorFlowがデフォルトでインストールされています。必要なものを追加できます。例えば、Kerasをインストールするにはノートブックで

!pip3 install keras

それだと、Datalabインスタンスを再起動するたびにやり直さないと行かないんで、スタートアップスクリプトに登録しておくと便利です。次をノートブックのセルで実行します。

%%bash
echo "pip3 install keras" >> /content/datalab/.config/startup.sh
cat /content/datalab/.config/startup.sh

Screenshot 2018-01-04 at 00.15.37.png

ソースコードの管理

Datalabにはコマンドラインで使うgitとブラウザで使うungitがデフォルトでインストールされています。パブリックなGitHubレポジトリならungitでsubmoduleとして数クリックで追加できます。

Screenshot 2018-01-04 at 00.19.34.png

データの配置

ノートブックはDatalab VMの/mnt/disks/datalab-pd/content/datalab/notebooksフォルダに格納されています。このフォルダがDockerコンテナーにマウントされて利用されるので、デフォルトではrootユーザの所有になっています。そこで、データをscpで配置するためにはまずフォルダの所有者をdatalabに変更してからデータをコピーします。

gcloud compute ssh mylab --command='sudo chown -R datalab /mnt/disks/datalab-pd/content/datalab/notebooks'

gcloud compute scp --recurse [LOCAL_DATA_FOLDER] \
datalab@mylab:/mnt/disks/datalab-pd/content/datalab/notebooks/

チームでDatalabを使う

Cloud Datalab インスタンスはシングルユーザー環境であるため、チームのメンバーごとに独自のインスタンスが必要です。Datalabインスタンス名をmylab-{USERNAME}などにすると区別し易くなります。

GCPプロジェクト内で作成された各 Cloud Datalab インスタンスは、プロジェクト内の同じdatalab-notebooks git レポジトリのクローンを datalab/notebooks ディレクトリに作成するため、これでノートブックをメンバー間で共有できます。

参考

16
12
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
12