SLEAPという機械学習を用いた動物の身体部位のトラッキングツールのインストール方法について書いていきたいと思います。
DeepLabCutがトラッキングツールとして最もメジャーであり僕自身も過去にインストール方法について書いたり、他の人が多くの記事を残してくれています。
しかし、SLEAPについては日本語での記事は少ないのが現状です。
SLEAPはDeepLabCutよりも優れている点はたくさんあり、選択肢の一つとしてできるようにするために今回インストール方法を書こうと決意しました。
SLEAPはインストール方法から使い方まで動画付きで非常にわかりやすくまとまっているので、英語がわかる方なら簡単に使うことができると思います。
SLEAPの論文についてはこちら
SLEAPの公式サイトはこちら
SLEAPのGitHubはこちら
はじめに
まず初めに、SLEAP(公式)のインストール方法に書いてある、
mamba create -y -n sleap -c conda-forge -c nvidia -c sleap -c anaconda sleap=1.3.3
で一発で環境構築からパッケージのインストール、その他の諸々を行うという方法は、筆者はいくつかのパソコンで試したが、どれも環境構築の段階でずっと処理中になってしまい、うまくいかなかった。
よって、今回は公式が提案する別の方法でインストールする方法を紹介する。
インストール方法
基本的にはSLEAP公式のサイトのインストール方法にのっとって行なっていきます。
動作環境
・Windows 11 pro
・NVIDIA 3080で動作確認
・SLEAP 1.3.3
・Python 3.7.12
ファイルのダウンロード
まず初めに、SLEAPのGitHubからファイルを自分のパソコンにダウンロードします。
Gitで行う場合には以下のコードを行います。
git clone https://github.com/talmolab/sleap
gitコマンドが使えない場合には、gitをインストールする、もしくはGitHubから直接ファイルをダウンロードします。
GPUのドライバーのインストール
NVIDIAのドライバーをインストールします。
(もともとインストールされている場合はスキップします。)
Anacondaのインストール
次に、AnacondaのサイトからWindows 10 64bit版をダウンロード、インストールします。
AnacondaのサイトのFree Downloadを押し、サイトの下の方に行くと下のような画面になるので、
一番左のWindowsのインストーラーを入れましょう。
Anacondaがインストールできると、windowsのアプリ一覧の中に、”Anaconda Prompt”が入っていると思います。
それを使って、以下のコードを実行し、仮想環境の構築やインストール、さらにはSLEAPの起動を行ってきます。
仮想環境の構築とインストール
その後、以下のコードを実行し、仮想環境の構築、そしてSLEAPのインストールします。
仮想環境名は”sleap”になります。
cd sleap
conda env create -f environment.yml -n sleap
ちなみに、GPUの入っているパソコンでは上記のコードで行うことができますが、
もし入っていないパソコンでは、以下のコードで行うことができます。
cd sleap
conda env create -f environment_no_cuda.yml -n sleap
これでインストールは完了です。
インストールできたかの確認
仮想環境のアクティベーションを行い、sleap-labelでSLEAPを起動します。
conda activate sleap
sleap-label
仮想環境のアクティベーション(codna activate sleapのコマンド部分です。)はAnaconda Promptを閉じた際には毎度行う必要があります。
仮想環境のアクティベーションで(base)から、(sleap)になると思います。
起動できたら問題なくインストールができました。
論文に載せる際のバージョンなどの確認
バージョンの確認はsleapの仮想環境をアクティベートした後で、以下のコマンドを実行します。
python -c "import sleap; sleap.versions()"
すると、
SLEAP: 1.3.3
TensorFlow: 2.7.0
Numpy: 1.21.5
Python: 3.7.12
OS: Windows-10-10.0.22621-SP0
と、SLEAPのバージョン情報などが出力されます。
また、SLEAPがGPUを利用できているかについては、
python -c "import sleap; sleap.system_summary()"
で確認できます。
利用できているときは以下のような出力になります。
GPUs: 1/1 available
Device: /physical_device:GPU:0
Available: True
Initialized: False
Memory growth: None
次回以降はSLEAPの具体的な使い方について紹介できたらなと思います。
おまけ
パソコンどれを使えばいいのかわからない方へ、パソコン購入相談をココナラでやることにしました!
あなたの要望に合わせてパソコンを選び、提案します パソコン選びに困っている方々へ!様々な目的に対応できます!パソコンを選んだり、アドバイスすることが多く多くの友人からパソコンの相談やったら儲かるのにと言われました。
それに感化されて一旦やってみようと思いました!
パソコンの利用目的に合わせて、そしてパソコンの予算に合わせて購入をご提案します。
特に機械学習に用いるパソコンを多く選び、使ってきています。
そして、希望があればパソコンを今後買う時にどこに注目すると良いかもアドバイスしていきたいと思います。
今まで選んだことあるパソコンとして、研究室の解析用パソコン、実用パソコン、ゲーム配信用パソコン、大学の新入生用のパソコン、建築学科用のCADが使えるパソコン、とりあえずのパソコンなど。
MacとWindowsの両方使っているので、どちらのお話、ご提案もできます!
ぜひ利用してみてください