GCEのVMインスタンスを利用する場合
Dockerのコンテナイメージを利用して、Jupyterの環境を用意します。TensorFlowなど関連モジュールを導入済みのイメージをDocker Hubで公開してありますので、これを利用することができます。
※ GCP公式イメージではありません。筆者が個人的に作成したものです。イメージ作成用のDockerfileは、下記で公開しています。
CentOS7のVMインスタンスを起動してログインした後、rootユーザーから、次の手順でコンテナを起動します。
# yum -y install docker # systemctl enable docker.service # systemctl start docker.service # mkdir ~/data # chcon -Rt svirt_sandbox_file_t ~/data # docker run -itd --name jupyter -p 8888:8888 -p 6006:6006 -v ~/data:/root/notebook -e PASSWORD=hogehoge enakai00/jupyter_tensorflow:latest
「-e PASSWORD=」には、Jupyterにアクセスする際のパスワードを任意に指定します。ただし、通信経路の暗号化は行われないため、インターネット経由で直接にアクセスするのは危険です。SSHのトンネル機能を用いて、通信経路の暗号化を行ってください。
たとえば、Windowsクライアントの環境であれば、TeratermなどのSSH端末から、次のように8888番ポートと6006番ポートの転送を指定して、SSH接続します。
Mac OS X、もしくは、Linuxクライアントであれば、次のように、-Lオプションでポート転送を指定してSSH接続します。
$ ssh -L 6006:localhost:6006 -L 8888:localhost:8888 -i .ssh/gcp_enakai enakai@xxx.xxx.xxx.xxx
この後、ローカルのブラウザーから、「http://localhost:8888」にアクセスするとSSHトンネルを経由して、Jupyterに接続することができます。
また、TensorBoardを使用する際は、Jupyterのコンソール画面からTensorBoardを起動した後に、「http://localhost:6006」にアクセスします。
Google Cloud Datalabを利用する場合
(2016/08/15 追記)
Cloud Datalabのアーキテクチャーが新しくなって、ローカルのDockerとGCP上のDockerを使い分けることができるようになりました。利用手順は、下記のWebサイトを参照してください。
・Google Cloud Datalab - Quickstarts
古い手順も参考までに残しておきます。
Cloud Datalabは、Jupyter環境をSaaS形式で提供します。バックエンドは、Google App Engine Flexible Environmentになります。上記のリンクから、環境をデプロイして利用することができます。
利用開始時にGCPのアカウント認証(SSO)が行われるので、Jupyterのノートブック内からGCPモジュールを利用して、Cloud StorageやBig Queryなどのサービスを直接に呼び出すことができます。
ただし、デフォルトでは、バックエンドのVMインスタンスのサイズが小さいため、大量のメモリーを必要とする処理が実行できません。VMインスタンスのCPUコア数やメモリー容量を指定する方法は、下記のドキュメントを参照してください。
・Customizing your Cloud Datalab deployment
たとえば、次のURLから環境をデプロイすると、n1-standard-4(vCPU x 4、メモリ 15 GB)のインスタンスが使用されます。
・http://datalab.cloud.google.com?name=datalab01&cpu=4&memorygb=14
この場合、デプロイした環境には、「datalab01」という名前が付いているので、利用する際は、下記のURLからアクセスする必要があります。
・http://datalab.cloud.google.com?name=datalab01
Cloud Datalabでは、TensorFlowも利用することができます。ただし、ビジュアライゼーションツールのTensorBoardは使用できません。TensorBoardを使いたい場合は、次に説明する方法を用いるのがよいでしょう。
※ Cloud Datalabは、現在ベータ版として提供されています。今後、利用方法など、サービス内容が変わる可能性もありますのでご注意ください。