Google Cloud PlatformのDatalabを使えば、15分位でMacやChromebookなどのブラウザだけでDeep Learningを始められます。
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
ソースコードの管理
Datalabにはコマンドラインで使うgitとブラウザで使うungitがデフォルトでインストールされています。パブリックなGitHubレポジトリならungitでsubmoduleとして数クリックで追加できます。
データの配置
ノートブックは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 ディレクトリに作成するため、これでノートブックをメンバー間で共有できます。