DeepLabCutをLinuxにインストールする

DeepLabCutのインストール方法が多数掲載されていますが、環境が違うとうまく動作しないので、UBUNTUからインストールしてさらにDeepLabCutをインストールしてみました。

# CDより、UBUNTUをインストール

CDを入れ、再起動をする
（CDが読み込まれない場合は、以下の手順で起動優先順位を変更する必要がある
1. アプリ一覧よりTerminalを起動し`$ sudo systemctl reboot –firmware-setup`　を実行
1.	再起動後、boot設定画面が表示されるので、CD/DVDを起動順位１位にする
※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](https://developer.nvidia.com/cuda-toolkit)　を参照

<font color="red">注意：ここではubuntu20.04の環境でのCUDAインストール内容を紹介していますが
　　　あなたの環境がubuntu22.04 の場合は　CUDA12 とcuDNN(cuda12.x)をいれるとdeeplabcutが動作しないので、
　　　CUDA11.7　cuDNN(cuda11.x)　をインストールするようにしてください。　（2023/2/1）</font>

![img1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2666944/eb851e23-1858-5f3c-ff27-e0e05f7a93c0.png)
downloadをクリックし、　自分の欲しい環境を選択していく
　（ここでは　linux　x86_64　ubuntu　20.04　deb(local)　を選択）
![img2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2666944/ab03b951-89d2-c98b-4b5a-9162d12928dc.png)
選択すると`installation instruction:`　に選択した内容に沿った入力コマンドが表示されるのでcopy&pasteで順番に実行する
（選択した内容によって変わります。）
古いバージョンのCUDAを選んだ場合は最後の1文はバージョン指定をした方がよいです。
`$ sudo apt-get -y install cudaバージョン指定`

# cuDNNをダウンロードする
[https://developer.nvidia.com/rdp/form/cudnn-download-survey](https://developer.nvidia.com/rdp/form/cudnn-download-survey)　を参照
![img3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2666944/e62b1a73-46aa-3b49-23d8-157d91a80e1d.png)

1. アカウントを持っていない場合はJoin now でNVIDIAにアカウント登録をする
2. 登録後、NVIDIAにログインする

### ダウンロードファイルを指定
![img4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2666944/89d8fb71-fd6a-25d7-3afc-7a0b4a8d6311.png)
`□ I Agree To the　～　`　をチェックし、`Download　for　cuda11.x`　を選択
Local Installer for Linux x86_64(Tar)を選択し保存
![img5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2666944/26db0b19-e8d5-7008-0c00-9a1774614163.png)
### ダウンロードしたcuDNNファイルを解凍する
ダウンロードファイルを右クリックし、Extract Hearを選択し解凍
![img6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2666944/8875691c-d4fc-a3ea-e27a-c5e87b465e0f.png)
解凍したファイルの中にlibやincludeフォルダがあることを確認
![img7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2666944/ee966531-73ec-044a-3fbd-e3921815bfea.png)
Libやincludeファイルが参照できるようにディレクトリを変更
（cd ###　←　###はダウンロードした場所）
今回は
`$ cd Downloads/cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive`
<font color="blue">~/Downloads/cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive</font>$　に変更されれば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`
![img8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2666944/e11e2b84-d522-2ff7-ee63-dfd3668ea308.png)
編集をする
（↓ は Jキー　↑ は Kキー　← は hキー　→ は Lキー で移動可能）
1. 	一番下の行に移動し、「o」キーで行を追加
1. 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"`

1. 「esc」キーを押して編集を終了して
1. 「:wq」を打ってenterキーを押すとeditorを抜ける

再起動する
`$ sudo reboot`

GPUが認識されているかどうかを確認
`$ nvidia-smi`

GPUが確認できたらOK
![img9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2666944/67ebcd78-cdf6-2af1-c968-b6856de77bce.png)
# Anacondaのダウンロード
:::note warn
anacondaは2024年3月末に大幅に改定され、教育機関で研究目的の利用時でも200人以上の組織であれば有償になったそうです。（[利用規定](https://legal.anaconda.com/policies/en/?name=terms-of-service#terms-of-service)）
なので、ご利用の際は自己責任でお願いいたします。
:::

[https://www.anaconda.com/products/distribution](https://www.anaconda.com/products/distribution)　　を参照
（ここではlinux　64-Bit(x86)installer(581MB)をダウンロード）
![img10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2666944/335e4b7e-f8b6-7e79-d780-9dbff64ab51c.png)
保存する
![img11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2666944/6826a260-bda4-053b-f8a5-93984ceac7d6.png)
Downloadsフォルダ内に保存される
![img12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2666944/7190fee9-28a4-7bc9-4f64-9bada3385767.png)

# Anacondaのインストール
保存したファイルを参照するためディレクトリを変更
`$ cd　Downloads`
### Anacondaのインストール
`$ bash Anaconda3-2021.11-linux-x86_64.sh`

![img13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2666944/9479d80f-08f2-4d99-66e3-99b31dc426c7.png)
ENTERキー
![img14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2666944/d00925bc-8a43-2ac2-93d1-4583d16889e8.png)
ENTERキーを押し続ける
![img15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2666944/e37484f7-2bac-5d2b-8636-2b7280ef6cb3.png)
yes
![img16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2666944/53b3e368-f047-3676-fe1d-51f5a100c8e8.png)
保存場所も特に指定がなければENTERキー
![img17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2666944/14871d81-6881-b5c2-b9d3-fa9a09f714ca.png)
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キー で移動可能）
1. 一番下の行に移動し、「o」キーで行を追加
1. 以下を入力
`Export PATH=~/anaconda3/bin:$PATH`
1. 「esc」キーで編集を終了
1. 「: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`
![img18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2666944/e5e56a5c-af6b-67ab-ef76-0993bbd3939b.png)
この画面が表示されれば成功です

以下の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 でもう一度あるか確認してください。