DeepLabCutのインストール方法が多数掲載されていますが、環境が違うとうまく動作しないので、UBUNTUからインストールしてさらにDeepLabCutをインストールしてみました。
CDより、UBUNTUをインストール
CDを入れ、再起動をする
(CDが読み込まれない場合は、以下の手順で起動優先順位を変更する必要がある
- アプリ一覧よりTerminalを起動し
$ sudo systemctl reboot –firmware-setup
を実行 - 再起動後、boot設定画面が表示されるので、CD/DVDを起動順位1位にする
※UEFIブートとレガシーブートの両方がある場合はUEFIブートを無効にする)
UBUNTUに必要なものをインストールする
$ sudo apt install geany
$ sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'
$ sudo wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install google-chrome-stable
$ sudo apt install python3-pip
$ sudo apt install python3-testresources
$ pip3 install -U setuptools
$ pip3 install -U cython
$ pip3 install -U filelock
NVIDIAよりCUDAのツールキットをインストールする
https://developer.nvidia.com/cuda-toolkit を参照
注意:ここではubuntu20.04の環境でのCUDAインストール内容を紹介していますが
あなたの環境がubuntu22.04 の場合は CUDA12 とcuDNN(cuda12.x)をいれるとdeeplabcutが動作しないので、
CUDA11.7 cuDNN(cuda11.x) をインストールするようにしてください。 (2023/2/1)
downloadをクリックし、 自分の欲しい環境を選択していく
(ここでは linux x86_64 ubuntu 20.04 deb(local) を選択)
選択するとinstallation instruction:
に選択した内容に沿った入力コマンドが表示されるのでcopy&pasteで順番に実行する
(選択した内容によって変わります。)
古いバージョンのCUDAを選んだ場合は最後の1文はバージョン指定をした方がよいです。
$ sudo apt-get -y install cudaバージョン指定
cuDNNをダウンロードする
https://developer.nvidia.com/rdp/form/cudnn-download-survey を参照
- アカウントを持っていない場合はJoin now でNVIDIAにアカウント登録をする
- 登録後、NVIDIAにログインする
ダウンロードファイルを指定
□ I Agree To the ~
をチェックし、Download for cuda11.x
を選択
Local Installer for Linux x86_64(Tar)を選択し保存
ダウンロードしたcuDNNファイルを解凍する
ダウンロードファイルを右クリックし、Extract Hearを選択し解凍
解凍したファイルの中にlibやincludeフォルダがあることを確認
Libやincludeファイルが参照できるようにディレクトリを変更
(cd ### ← ###はダウンロードした場所)
今回は
$ cd Downloads/cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive
~/Downloads/cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive$ に変更されればOK
(※次に下のコマンドを実行しますが、ダウンロードしたバージョンによって、コピー元のフォルダ名が変更されるのでフォルダ名を確認しながら実行してください)
$ sudo cp -P lib/* /usr/local/cuda/lib64/
$ sudo cp include/* /usr/local/cuda/include/
$ sudo chmod 644 /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
Viエディタを起動
$ sudo vi ~/.bashrc
編集をする
(↓ は Jキー ↑ は Kキー ← は hキー → は Lキー で移動可能)
-
一番下の行に移動し、「o」キーで行を追加
-
copy & pasteで以下の6行を追加
export CUDA_ROOT=/usr/local/cuda
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:
export CPATH=$CPATH:/usr/local/cuda/include
export CUDA_INC_DIR=/usr/local/cuda/bin:$CUDA_INC_DIR
export PATH="$PATH:$HOME/.local/bin"
-
「esc」キーを押して編集を終了して
-
「:wq」を打ってenterキーを押すとeditorを抜ける
再起動する
$ sudo reboot
GPUが認識されているかどうかを確認
$ nvidia-smi
Anacondaのダウンロード
https://www.anaconda.com/products/distribution を参照
(ここではlinux 64-Bit(x86)installer(581MB)をダウンロード)
保存する
Downloadsフォルダ内に保存される
Anacondaのインストール
保存したファイルを参照するためディレクトリを変更
$ cd Downloads
Anacondaのインストール
$ bash Anaconda3-2021.11-linux-x86_64.sh
ENTERキー
ENTERキーを押し続ける
yes
保存場所も特に指定がなければENTERキー
yes
DeepLabCutのインストール
DeepLabCutのビルドに必要なソフトウェアをインストール
$ sudo apt install -y git build-essential libgstreamer-plugins-base1.0-dev libgtk-3-dev libpulse-dev
DeepLabCutをGitHubからダウンロード
$ git clone https://github.com/DeepLabCut/DeepLabCut.git
Anacondaを使ってconda環境を作成
環境構築のための.yamlファイルがあるフォルダにディレクトリを変更
$ cd ~/Downloads/DeepLabCut/conda-environments
パスを通すためviエディタを起動
$ vi ~/.bash-profile
編集(↓ は Jキー ↑ は Kキー ← は hキー → は Lキー で移動可能)
- 一番下の行に移動し、「o」キーで行を追加
- 以下を入力
Export PATH=~/anaconda3/bin:$PATH
- 「esc」キーで編集を終了
- 「:wq」を打ってeditorを抜ける
更新
$ source~/.bashrc
Conda環境を作成
$ conda env create -f DEEPLABCUT.yaml
DEEPLABCUTという名前で仮想環境が作成されたので、作成した環境に切り替える
$ conda activate DEEPLABCUT
※コマンド入力の前に(DEEPLABCUT)
と表示されます
Deeplabcutをインストール
(DEEPLABCUT)$ pip install deeplabcut
デフォルトのwxPythonはUbuntu20.04では動かないのでアップグレードします
(DEEPLABCUT)$ pip install --upgrade wxPython
DeepLabCutの起動
(DEEPLABCUT)$ python -m deeplabcut
この画面が表示されれば成功です
以下のErrorが出たら
ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found
GLIBCXX_3.4.29があるか確認
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
なかったらinstall
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt install -y g++-11
strings でもう一度あるか確認してください。