この記事は、AWS EC2 上に Google Colaboratory の ローカルランタイムを作成すると同じ事をGoogle Cloud Platform(GCP)で行う記事です。
GCPには、NVIDIAの公式イメージがあるのでそれを使います。
また、GPUを使うために申請が必要なので、その日のうちに使いはじめることはできません。
- https://cloud.google.com/sdk/ を参考に、Google Cloud SDKをインストール
-
$ gcloud auth login
を実行し、ログインしておく - https://ngc.nvidia.com にサインアップ
- https://ngc.nvidia.com/configuration/api-key でAPIキーを作成(後で使うのでメモっておく)
- https://console.cloud.google.com/ を開く
- 上部のプロジェクトの選択 で▼を押し、今回使うプロジェクトを選択、または新規作成
- quotaのページ か利用するZONEにチェックを入れる(例によって、usのZONEの方が料金が安いです)
- 上部の「割り当てを編集」をクリック
- 電話番号を入れ、次へをクリック
- 新しい割り当て上限を入力。とりあえず、1にする
- リクエストの説明は、"For machine learning"で十分。(たぶん数が少ない場合は)
- 申請が通るのを待つ。。。
- Cloud Launcher の NVIDIA GPU Cloud Imageのページを開く
- COMPUTE ENGINE 上で起動、をクリック
- ZONEから、申請の通ったZONEを選ぶ
- GPUの下にある、"Did you check for GPU quota?"のテキストボックスにYESと入力
- 必要なら、CPU、メモリー、ストレージなどを選ぶ
- デプロイをクリック
- デプロイが完了するのを待つ
- VMインスタンスのコンソールを開き、gcloudコマンドを表示をクリックし、gcloudコマンドをコピー
-
$ gcloud compute --project "colab-local-1" ssh --zone "us-west1-b" "nvidia-ngc-image-1-vm"
のようなコマンドがコピーされるので、ターミナルに貼り付け、末尾に-- -L 8081:localhost:8081
を追加- 例)
$ gcloud compute --project "colab-local-1" ssh --zone "us-west1-b" "nvidia-ngc-image-1-vm" -- -L 8081:localhost:8081
- 例)
- つながると、"Please enter your NGC APIkey to login to the NGC Registry:"と聞かれるので、 https://ngc.nvidia.com/configuration/api-key で作成したAPIキーを貼り付け
-
$ screen
でGNU Screenを起動 - docker で cloab のローカルインスタンスを起動
$ docker run --runtime=nvidia -it --rm -p 8081:8081 --cap-add SYS_ADMIN --device /dev/fuse \
--security-opt apparmor=unconfined ikeyasu/colab-local:latest