DeepLabCutを動かすまで
GPU初心者です。DeepLabCutで微生物画像を解析してみようと思いました。DeepLabCutが動くまで結構苦労したので、役に立つかわかりませんが記録を置いておきます。
最終的にうまくいった環境
RTX 3090
WSL2 Ubuntu 20.04 (Windows 11)
Anaconda
CUDA 11.1.1
cuDNN 8.0.5
Python 3.7.13
TensorFlow 2.5.0
wxPython 4.0.7
wxPythonは pip install wxpythonとするとなぜか途中でインストールが止まるので、URL指定でこちらからインストールしました。wxPython 4.0以下じゃないとダメらしいですが、Python 3.8で環境を作るとwxPython 4.1しか対応していないっぽかったので、Pythonのバージョンを3.7にしました。公式ではPython 3.8で環境を作っているみたいだけど、そのへんうまくいく方法があるんだろうか。
公式からyamlをダウンロードしてそのまま環境を作ろうともしてみましたが、なぜかうまくいかず(yamlがうまく読み込まれなかったようだった)。
DeepLabCutはTensorFlow 2.xに対応している(2022年5月現在)
一瞬 Nath et al. (2019) Nature Protocolsを見てtf1系を入れようとしたけど、pip install deeplabcut をしたらtf2系が入ったのでtf2系に対応していることに気づきました。
DeepLabCutの操作の参考にしたページ
SakuLabさんのnoteを見ながらやっていました(こちらはWindows)。
最初に構築した環境
CUDA 10.0, cuDNN 7.4.2, TensorFlow 2.0.0
CUDAを入れたのがかなり前で、なぜ10.0を入れようと思ったのか覚えていない。
DeepLabCut(GUI)の起動やアノテーションは問題なく、Trainingまで行って喜んだものの、Successfully opened dynamic library libcudnn.so.7 という表示が出て途中で止まる。どうやらCUDAとcuDNNとtfのバージョンが合っていない時に起こる現象らしい。
image.scで聞いてみる
CUDAとcuDNNとtfのバージョンは合っているのになぜ?と思ってimage.scで聞いてみた。RTX 3090にはCUDA 11系を使う必要があることを知った(というか最初に見たページにも似たようなことが書いてあったが理解していなかった)。感謝。
その他:WSL (Ubuntu) からcuDNNがwgetできない
cuDNNのダウンロードページに行き着くにはログインの必要があるので、普通にwgetしようとしても403 forbiddenが出てしまう。
Linux弱者すぎてよくわからないので、結局ブラウザからWindows側にダウンロードした。