Take Your Time

仕事や研究、コンピューターとの付き合い方

GPUインスタンスの環境構築

AMI Ubuntu18.04 LT Deep Learning 用(元からnvidia driverが入っている) EC2 G4インスタンス

困ったこと

  • インスタンス起動時はnvidia-smiするとしっかりドライバーが表示されるのだが、一旦停止して再起動するとドライバーが見つからなくなってしまう。 以下のようにドライバーを入れ直すと再び使えるようになった。
  104  sudo apt update
  106  sudo apt install ubuntu-drivers-common
  107  ubuntu-drivers devices
  108  sudo apt install nvidia-driver-435
  • ドライバーを認識させるには再起動が必要
  • デフォルトで入っているpython3系だとcatboostは動かないし、optunaも入らない。catboostは model.fit() すると
CatboostError: catboost/cuda/cuda_lib/cuda_manager.h:305: Condition violated:`State == nullptr` 

がでる。また、optunaのエラーは AttributeError: module 'setuptools.build_meta' has no attribute '__legacy__'がでる。 pyenvを導入して3.7にあげることで解消した。 pyenvは ubuntu 18.04 に pyenv をインストールする話 - Qiita を参照した。

  • pyenv global 3.7.7のようにしてあげても、port forwardでjupyterを立てると、pyenvではなくもとの3.6系を使ってしまう。

Jupyter NotebookでPython3が使えない問題を解決 - Qiitaを参照して以下のよう実行。

python3 -m pip install ipykernel
python3 -m ipykernel install
python3 -m IPython kernelspec install-self

するとwhich jupyterすると、/home/ubuntu/.pyenv/shims/jupyterのようにpyenv下のjupyterをだしてくれる。 確実にこのjupyterを動かすためにフルパスを書いて実行するとよい。