Korniaをインストールしたらcudaが使えなくなる問題を解決

Korniaをinstallしたらtorch.cuda.is_available() がFalseを返すようになってしまった。

今まで問題なくGPUで学習ができていて、ドライバも問題なく動いている。

環境は以下の通り、

Python = 3.8

CUDA 10.2

Pytorch =1.12.1

上記の通り、問題が起きたのはKorniaをinstallしたとき。

Korniaをinstallした後にcuda.is_available()がFalseを返すようになった。

なぜこうなってしまったのか

原因はKorniaをinstallしたときにPytorchも上書きインストールされてしまうからだった。

また、この後に

conda install pytorch -c pytorch

でインストールし直すと、cpu用のPytorchがインストールされてしまう問題が続き発生した。

バージョンとビルドを指定してインストールして無事解決

そこで、versionとbuildを指定してcudaのversionをインストールした。

conda install pytorch=1.12.1=py3.8_cuda10.2_cudnn7.6.5_0 -c pytorch

これで無事動くようになった。

自分の環境にあったpytorchバージョンを選ぶ

対応したPytorchのversionとbuildを検索するのは

conda search pytorch -c pytorch

で検索して、自身の使用しているPytorchのversionとcudaのバージョンに適合しているもののbuildを確認しよう。

CPU版とCUDA版の見分け方

CPU版GPU(CUDA)版のbuildの例は以下のようになっている。

py3.8_cpu_0

py3.8_cuda10.2_cudnn7.6.5_0

見ての通り、cpu版にはcpuと書かれている。

Anacondaの仮想環境で現在インストールされているPytorchのversionやbuildを確認する方法は以下のようにする。

$ conda list | grep pytorch
>
# Name                    Version                   Build  Channel
pytorch                   1.12.1                    py3.8_cuda10.2_cudnn7.6.5_0 pytorch
pytorch-mutex             1.0 cuda pytorch
torchvision               0.13.1                    py38_cu102 pytorch

間違ってCPU版のPytorchをinstallすると、cudaが使えないので気を付けよう。

コメント

タイトルとURLをコピーしました