Virtual Machine Setup
Background
開発や実験をするマシンとして一番は手元の macbook を使うことが多いが、昨今の DNN 系の手法など試す場合はどうしても spot でスペックの大きい GPU インスタンスを立てて実験をしたくなるケースが多い。ここでは GCE を利用したマシンの setup 方法について記述する。
Setup
インスタンスの作成
コンソールから Compute Engine のインスタンスを作成する。作成時には以下の点を留意。
- GCP から公式の DNN 向けのイメージが提供されているので、これを利用することで cuda 関係の toolchain のセットアップをする手間が省ける。
- デフォルトのディスクサイズは小さめなのであらかじめ増設しておいてもよい
- 費用コストを節約したい場合は、
TODO: インスタンステンプレートを作成する
ローカルマシンのセットアップ
作成したインスタンスへ ssh 接続するための設定
gcloud compute config-ssh --project PROJECT_NAME以降ローカルマシンから以下のように ssh 接続できる
ssh INSTANCE_NAME.REGION.PROJECT_NAMEVM のセットアップ
まずは pytorch から cuda が利用可能かどうかを確認。
pip install torch...
ipython
In [1]: import torch
In [2]: torch.cuda.is_available()Out[2]: Truegit の設定とレポジトリの clone
# install gh(type -p wget >/dev/null || (sudo apt update && sudo apt-get install wget -y)) \&& sudo mkdir -p -m 755 /etc/apt/keyrings \&& wget -qO- https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \&& sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \&& sudo apt update \&& sudo apt install gh -ygh auth login
# setupgit config --global user.name "mana-ysh"git config --global user.email "int.toshi13@gmail.com"git clone git@github.com:mana-ysh/repo.gitzsh 系の設定
sudo apt install zshsudo chsh -s /bin/zsh "$USER"
# install oh-my-zshsh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# install starshipcurl -sS https://starship.rs/install.sh | sh
# (optional) install forgitgit clone https://github.com/wfxr/forgit ~/.forgit
cd /path/to/repo/dotfilesmake installcli 系のツールの install
# install aquacurl -sSfL https://raw.githubusercontent.com/aquaproj/aqua-installer/v3.0.1/aqua-installer | bash
cd /path/to/repoaqua i言語周りのツールチェーンの設定
# Install poetry before activating misecurl -sSL https://install.python-poetry.org | python3 -
# Use misecurl https://mise.run | sh# note: 事前に~/.config/mise/config.tomlをinstallしておくmise install
# Rustcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Othersnpm install -g yarnTroubleshooting
nvidia-smiが失敗する
以下のレポジトリでGCE向けのGCUセットアップスクリプトが同梱されているのでこれを実行する。 https://github.com/GoogleCloudPlatform/compute-gpu-installation