😸

Ubuntu20.04に機械学習(GPU)環境を設定する方法

2022/07/30に公開

はじめに

こんにちは、わっしーです。
本記事では、Ubuntu20.04にGPUありの機械学習環境を設定する方法を紹介します。一応、AzureのVMで動作確認しました。
よく躓く、CUDA、pythonの導入部分も記載しています。

早速、方法を紹介します。

1. sshでサーバ接続

ssh -i ./*.cer azureuser@xx.xxx.xxx.xxx

もし、Permissions 0644 for ‘xxx.key’ are too open.がでる場合は、

chmod 600 xxx.key

で権限を変更してください。

もし、Vscodeでサーバに入りたい場合は、以下のように設定してください。

  1. Remote-ssh拡張機能をインストール
    Enable Remote Commandの許可を設定する必要があります。
    また、未確認ですが、プレリリースバージョンへの切り替えも必要かもしれません。

  2. .ssh/configに以下の設定を追加 (AzureのVMサーバ用です)

Host SampleGpuServer
    HostName xx.xxx.xxx.xxx
    User azureuser
    IdentityFile ~/.ssh*cer
    RemoteCommand sudo su -
    RequestTTY true
    ForwardAgent yes

2. ubuntu環境設定

適宜、必要なライブラリをインストールしてください。

apt-get update
apt-get install -y build-essential vim \
    wget curl git zip gcc make openssl \
    libssl-dev libbz2-dev libreadline-dev \
    libsqlite3-dev python3-tk tk-dev python-tk \
    libfreetype6-dev libffi-dev liblzma-dev libsndfile1 ffmpeg -y

3. GPU関連の環境設定

まずは、gpuが備わっているのか確認します。

lspci | grep -i NVIDIA

次に、CUDAドライバーのインストールです。
Cuda Toolkitのホームページから、インストール方法を選択してください。

OS情報の確認は、cat /etc/os-release でできます。

インストールが終わったら、nvidia-smiでCUDAが入っていることを確認してください。

4. pythonのインストール

今回は、pyenvでpythonの導入を行います。個人的には、pyenvでpythonのバージョンを選択し、venvで仮想環境の作成を行います。

まずは、pyenvによるpythonのインストールです。

git clone https://github.com/yyuu/pyenv.git /root/.pyenv
echo "export HOME=/root" >> ~/.bashrc 
echo "export PYENV_ROOT=$HOME/.pyenv" >> ~/.bashrc 
echo "export PATH=$PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH" >> ~/.bashrc 
source ~/.bashrc
pyenv --version
pyenv install 3.9.13
pyenv global 3.9.13
python --version
pyenv rehash

5. Pythonの仮想環境設定・ライブラリインストール

以下のようにして、pythonの仮想環境を設定できます。

git clone https://github.com/xxxxxxx/xxxxxxxxxxx.git
cd ./xxxxxxxxxxxx
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt 

# pytorch
pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113

# 確認
python3 -c "import torch; print(torch.__version__, torch.cuda.is_available())"

最後に

以上、Ubuntu20.04での機械学習環境の構築に関してでした。AzureのVMで環境構築したため、良い機会なのでまとめました。


画像・自然言語・音声に関する機械学習の研究開発やMLOpsを行っています。もし、機械学習に関して、ご相談があれば、@kwashizzzのアカウントまでDMしてください!
これまでの、機械学習記事のまとめです。

GitHubで編集を提案

Discussion