/var/log

技術ネタ多めで思ったことを書きます。※内容は個人の発言であり、所属する組織を代表するものではありません。

GCP de Kaggleの事始め

GCP de Kaggleの事始め

DeepLearning系の資格も一通り取得したのでKaggleに本格参戦するため、GCPを使っていこうと思います。

なぜGCPかというと、BigQueryを将来的に使いたいからです。 このあたりはAWSより優れていると思ってます(AWSも好きなサービスではあるのですが)。 近いうちにGCPの資格も取得しようと思ってますので、もし取得出来たら感想でも書こうかと思います。

環境構築の方法とコマンドのメモを残そうと思います。

環境構築

以下を参考にしました。

qiita.com

qiita.com

無料枠のまま、何もしないとGPUが使えないのでGPU(All Region)が使えるように申請を出すのがポイントでした。 リージョンごとの設定も必要ですが、この全体設定的なやつが盲点でした。 何も知らないで申請したらデプロイに失敗して、はて?と思って時間を浪費しました。。。

コマンド

※随時追加していきます。

# インスタンス一覧
gcloud compute instances list

# 電源ON
gcloud compute instances start --zone us-west1-b kaggle-base-vm

# 停止
gcloud compute instances stop --zone us-west1-b kaggle-base-vm

# VMにsshで接続(VM名がkaggle-base-vmで、デフォルトリージョンに存在する場合)
gcloud compute ssh kaggle-base-vm

# Docker Build(イメージを作る時)
# Dockerfile等は同じディレクトリにある。
docker build ./ -t kaggle_baase

# コンテナ起動(projectをmount状態で起動)
mkdir project
docker run --runtime=nvidia -p 8888:8888 -d -v ~/project:/root/user/project --name test kaggle_base /sbin/init

# コンテナ状態確認
docker ps

# コンテナ接続
docker exec -it test /bin/bash

# JypyterNoteBook起動@コンテナ
cd project
mkdir code data
jupyter notebook --ip=0.0.0.0 --port 8888 --allow-root

# 手元のPCからJupyterNoteBookに接続(Windowsだと-N -f -Lの-fは不要だった)
gcloud compute ssh "kaggle-base-vm" -- -N -L 28888:localhost:8888