所属研究室のワークステーション(Windows)に CUDA 11.2 が導入されていたが、tensorflow が GPU を活用しつつパッケージを揃えるのに少し苦労した。
調べても pip を使った方法ばかりだったが、pip を使わずに anaconda のみで解決しようとして少し躓いたので、備忘録を残す。
(初心者なので、間違いやもっと良い方法があれば教えてください m(_ _)m)
追記 2021/10/7
容量を気にしなければ、CUDA の別バージョンを入れてしまうのが早い気がしてきた。
考え方は、https://qiita.com/takeajioka/items/8737fab5cffbe0118fea 、詳しいやり方は https://ichiya.netlify.app/posts/2020/02/29/_20200229-2.htm を参照。
追記 2022/10/9
毎回 anaconda でパッケージを探して、なかったら conda-forge を探していたが、それを一発でやる方法があった。
チャンネルの優先順位もつけられる。
Ex. 優先順位最下位に conda-forge を追加する。
conda config --append channels conda-forge
https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-channels.html 参照。
やったことまとめ
conda create -n tf25
conda install tensorflow-gpu==2.5
- conflict したら、Anaconda cloud で代わりのパッケージを探す
conda install -c conda-forge matplotlib
以下、時系列で困ったことを書いていく。
tensorflow で GPU を使ってくれない
まず、tensorflow で CUDA を介して GPU を使うためには、CUDA のバージョンに応じた tensorflow のバージョンにする必要がある。
バージョンの対応は以下。
今回は、CUDA 11.2 だったため、tensorflow-gpu >= 2.5 をインストールする。
conda install で conflict により tensorflow-gpu==2.5 が入らない
自分の環境に conda でパッケージが入らないときは、新たに仮想環境を作って入れたいパッケージを入れる。
とりあえず、tf25
という名前の環境を作って、そこに入れた。
conda create -n tf25
conda install tensorflow-gpu==2.5
新しく作った環境に matplotlib や pandas が入らない
最初に tensorflow を入れようとして conflict したので、そこに入っていたパッケージのうちどれかは入らない。
自分の場合、matplotlib が入らないという事件が起きた。
matplotlib conflict で検索して、conda-forge からインストールすればいけるという回答を見つけた。
やってみた結果、できた。
conda install -c conda-forge matplotlib
教訓
- anaconda のパッケージで conflict が起きても、めげずにパッケージを探す
- conda-forge すごい