自分用のメモです.
この記事が役に立つケース
既存のML(だいたいDL)アプリケーションでちょっと遊びたい時にCUDAを一つのバージョンだけインストールしていると,依存関係のPyTorch関連ライブラリをそのCUDA対応バージョンに合わせなければならない.
- dockerで仮想環境ごと切り替える
- update-alternativesを使う
などの解決策もあるが,そこまでワークステーションの設備が良くない僕はできるだけインストールするCUDAを一つだけにしたい.なので
可能な限り単一CUDAで環境を作る場合やることをメモしておく
基本手順
- requirements.txtのCUDA依存部分をコメントアウトする
- nvcc -VでインストールしてあるCUDAバージョンを確認する
- 2.で確認したCUDAバージョン対応かつ,requirements.txt内のPyTorchバージョンにできるだけ近いPyTorchをインストール(ただしMajor releaseが変化する場合などはmajor releaseが変化しない方向にアップグレードorダウングレード)
- 残りのPyTorch関連ライブラリをインストール.時には対応づけミス?により普通にpip installできない or みつからないライブラリがあるので(torch-scatterなど)直接wheelからpip installする.
もっと頭のいい方法があるかもなので適宜更新必須