ホーム » Datalab

Datalab」カテゴリーアーカイブ

Google Cloud Datalab notebook を GCP で実行

Google Cloud Datalab notebook を GCP で実行

Google Cloud ML の運用に Datalab が推奨されていますので、Docker 環境における導入 : Google Cloud Machine Learning : 入門編 (4) – Datalab とは別に、以下のドキュメントに従って GCE ベースでインストールしてみました :

Run Cloud Datalab notebooks on Google Cloud Platform | Google Cloud Datalab Documentation

本記事では、GCP 上で Cloud Datalab 全体をどのようにセットアップして実行するかを示します。GCP 上で Cloud Datalab を実行すると以下が可能になります :

  • Cloud Platform VM の computing とディスク・リソースが notebook コマンドを実行し迅速に結果を得るために利用できます。
  • Cloud Platform を使用して Google Cloud Strage データに直接アクセスすることによりローカルマシンにデータをダウンロードする時間消費を回避できます。 
  • ローカルマシンに Docker をインストールすることなく Cloud Datalab を実行できます。

始める前に

プロジェクトを選択する

Cloud Datalab notebook を実行するためには GCE API が有効になった GCP プロジェクトが必要です :

gcloud projects list

後で使いますので、選択したプロジェクト ID をメモしておきます。gcloud コマンドをインストールするには Google Cloud SDK をインストールします。

GCP で Compute Engine VM を作成する

1. datalab-network を作成します :

gcloud compute networks create "datalab-network" \
  --project ${PROJECT_ID} \
  --description "Network for Datalab servers"

実行結果です :

Created [https://www.googleapis.com/compute/v1/projects/${PROJECT_ID}/global/networks/datalab-network].
NAME             MODE  IPV4_RANGE  GATEWAY_IPV4
datalab-network  auto

Instances on this network will not be reachable until firewall rules are created. As an example, you can allow all internal traffic between instances as well as SSH, RDP, and ICMP by running:

$ gcloud compute firewall-rules create <FIREWALL_NAME> --network datalab-network --allow tcp,udp,icmp --source-ranges <IP_RANGE>
$ gcloud compute firewall-rules create <FIREWALL_NAME> --network datalab-network --allow tcp:22,tcp:3389,icmp

2. ネットワークへの SSH アクセスを許可します :

gcloud compute firewall-rules create datalab-network-allow-ssh \
  --project ${PROJECT_ID} \
  --allow tcp:22 \
  --network "datalab-network" \
  --description "Allow SSH access"

実行結果です :

Created [https://www.googleapis.com/compute/v1/projects/${PROJECT_ID/global/firewalls/datalab-network-allow-ssh].
NAME                       NETWORK          SRC_RANGES  RULES   SRC_TAGS  TARGET_TAGS
datalab-network-allow-ssh  datalab-network  0.0.0.0/0   tcp:22

3. Cloud Datalab VM をどのようにセットアップするかを定義する YAML ファイルをダウンロードします :

gsutil cp gs://cloud-datalab/server.yaml ./datalab-server.yaml

4. VM を作成します (ref. Choosing a region and zone) :

gcloud compute instances create "instance-datalab" \
  --project "${PROJECT_ID}" \
  --zone "us-central1-b" \
  --network "datalab-network" \
  --image-family "container-vm" \
  --image-project "google-containers" \
  --metadata "google-container-manifest=$(cat datalab-server.yaml)" \
  --machine-type "n1-highmem-2" \
  --scopes "cloud-platform"

実行結果です :

Created [https://www.googleapis.com/compute/v1/projects/${PROJECT_ID}/zones/us-central1-b/instances/instance-datalab].
NAME              ZONE           MACHINE_TYPE  PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP    STATUS
instance-datalab  us-central1-b  n1-highmem-2               10.128.0.2   104.154.18.56  RUNNING

Cloud Datalab に接続するために SSH tunnel を使用する

1. 次のコマンドを実行します :

gcloud compute ssh --quiet \
    --project "${PROJECT_ID}" \
    --zone "us-central1-b" \
    --ssh-flag="-N" \
    --ssh-flag="-L" \
    --ssh-flag="localhost:8081:localhost:8080" \
    "${GUSER}@instance-datalab"

2. Cloud Datalab notebook リストページを開くために、ブラウザを http://localhost:8081 に接続します。

datalab_ml_iris2

 

以上

Google Cloud Machine Learning : 入門編 (4) – Datalab

Google Cloud Machine Learning : 入門編 (4) – Datalab

Google Cloud ML 入門編 (1) では Google Cloud ML パブリック Beta のクライアント環境のセットアップと MNIST のシングル・ワーカー・ジョブの投入までを試しました。
入門編 (2) では Cloud ML の TensorFlow 分散訓練の方法から始めてハイパーパラメータ調整を行ないました。
入門編 (3) では予測 (prediction) を主題として Cloud ML 上で TensorFlow モデルをサービス提供する方法、オンラインとバッチ予測リクエストを実行しました。

本記事 – 入門編 (4) では以下のドキュメントに従って Cloud Datalab を試します :

Developing Machine Learning Using Cloud Datalab | Google Cloud Machine Learning

このドキュメントには Docker コンテナを使用する方法が記述されているのですが、GCE の VM を利用して Datalab を実行する方法も試してみました。

* あくまでベータですので仕様が変更される可能性はありますのでご注意ください

Datalab クイックスタート

Google Cloud Datalab はデータで作業するために、jupyter ベースの対話的な notebook 環境を提供します。Cloud Datalab を Google Cloud Machine Learning と共に作業するために使用することが可能で、機械学習に特に適合するような幾つかのコマンドも用意されています。

開始するためには Cloud Datalab documentation に記述されているようにセットアップする必要があります。

<YOUR-PROJECT-ID> を置き換えて次のコマンドで Cloud Datalab を実行開始できます:

cd ~
mkdir -p datalab
docker run -it -p "127.0.0.1:8081:8080" -v "${HOME}/datalab:/content" \
  -e "PROJECT_ID=" \
  gcr.io/cloud-datalab/datalab:local

Datalab コンテナの実行が成功すれば、ブラウザで localhost:8081 に navigate できます。そのページで /datalab/docs/tutorials/Machine%20Learning において Cloud ML チュートリアル notebook が見つかります。

datalab_ml_iris2

Datalab の Cloud ML 機能は Alpha 版で、活発に更新がかけられています。

GCE の VM 上で動作させるための instructions については、 Google Cloud Datalab documentation を参照してください。

冒頭にも書いたように、GCE の VM を利用して Datalab を実行する方法も試してみました。

Google Cloud Datalab notebook を GCP で実行

 

以上

AI導入支援 #2 ウェビナー

スモールスタートを可能としたAI導入支援   Vol.2
[無料 WEB セミナー] [詳細]
「画像認識 AI PoC スターターパック」の紹介
既に AI 技術を実ビジネスで活用し、成果を上げている日本企業も多く存在しており、競争優位なビジネスを展開しております。
しかしながら AI を導入したくとも PoC (概念実証) だけでも高額な費用がかかり取組めていない企業も少なくないようです。A I導入時には欠かせない PoC を手軽にしかも短期間で認知度を確認可能とするサービの紹介と共に、AI 技術の特性と具体的な導入プロセスに加え運用時のポイントについても解説いたします。
日時:2021年10月13日(水)
会場:WEBセミナー
共催:クラスキャット、日本FLOW(株)
後援:働き方改革推進コンソーシアム
参加費: 無料 (事前登録制)
人工知能開発支援
◆ クラスキャットは 人工知能研究開発支援 サービスを提供しています :
  • テクニカルコンサルティングサービス
  • 実証実験 (プロトタイプ構築)
  • アプリケーションへの実装
  • 人工知能研修サービス
◆ お問合せ先 ◆
(株)クラスキャット
セールス・インフォメーション
E-Mail:sales-info@classcat.com