saitoxu.io

AboutTwitterGitHub

研究室のGPUサーバに実験環境を整える

August 29, 2021

研究室のGPUサーバ(Ubuntu 18.04 LTS)に実験用の環境を構築したので、手順をメモしておきます。 これからPyTorchなど深層学習ライブラリを使ってML/AI系の実験やってくぞという方の役に立つと幸いです。 sudo権限なしの一般ユーザーという前提で進めます。目次↓

  1. 公開鍵認証の設定
  2. pyenv/poetryインストール
  3. pytorch等のインストール
  4. cudaのインストール

1. 公開鍵認証の設定

最初はパスワード認証の設定になっていたので、公開鍵認証の設定をします。 パスワードは最初にもらったものから適当に変更しておきます。 公開鍵認証の方法は検索すれば見つかるので割愛。 sudo権限がないのでパスワード認証をOFFにはできませんでした。

2. pyenv/poetryインストール

Python環境構築(pyenv+poetry+pipx) - Qiitaを参考に、pyenvとpoetryをインストールします。 pythonの依存管理ツールは最近はpoetryが来ているらしいので流れに乗っかっておきます。 上記の記事はbrewでpyenvを入れていますが、brewコマンドはないのでpyenv-installerを使ってインストールします。

3. pytorch等のインストール

poetryでプロジェクトを作成して、pytorchやtensorflowなど必要であろうライブラリを追加していきます。 大概のライブラリはpoetry add numpyなどで問題なくインストールできますが、pytorchはpoetry add pytorchで入らないので、 こちらのコメントのようにURLを指定してインストールします。

$ poetry add https://download.pytorch.org/whl/cu111/torch-1.9.0%2Bcu111-cp39-cp39-linux_x86_64.whl

URLは環境毎に異なるのでこちらで探すと良さそうです。

4. cudaのインストール

自分の研究室のサーバにはcudaがインストールされていなかったので、ローカルにインストールします。 以下の記事あたりを参考にインストールします。

インストールが完了したら、nvcc -Vと打ってバージョン番号が表示されれば問題ないと思います。 最後にこんな感じのpythonファイルを作成して、GPUが使えているか確認すると良いと思います。

import torch
import tensorflow as tf


if __name__ == "__main__":
    print(torch.cuda.is_available())
    print(tf.config.list_physical_devices('GPU'))

以下のように表示されれば成功です。

$ poetry run python check.py
True
[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU'), PhysicalDevice(name='/physical_device:GPU:1', device_type='GPU')]

以上、実験環境の初期構築手順でした。 Pythonは最初の環境構築のハードルが高いと言われていますが、GPUも絡んでくると余計そうだなと思いました。 まぁとにかくこれで環境ができたので、これからガシガシ実験進めていきたいと思います。


© 2021, Yosuke Saito