概要
まだまだ日本語情報が少ない物体検出フレームワーク"MMDetection"について、学んだことを記録していこうと思います。間違い等ありましたらぜひコメントで教えてください。よろしくお願いします。
MMDetection とは
香港中文大学(CUHK)が開発している物体検出のためのライブラリであり、PyTorchで書かれている。
物体検出やセグメンテーションの最新研究で頻繁に利用されている。
モジュールを組み合わせてモデルを設計する仕組みになっており、部品の組み替えが簡単に行える。
必要な環境
- Linux or macOS
- Python 3.6+
- PyTorch 1.3+
- CUDA 9.2+
- GCC 5+
- MMCV (バージョンについては下表を参照)
MMDetection ver. | MMCV ver. |
---|---|
master | mmcv-full>=1.2.4, <1.3 |
2.8.0 | mmcv-full>=1.2.4, <1.3 |
2.7.0 | mmcv-full>=1.1.5, <1.3 |
2.6.0 | mmcv-full>=1.1.5, <1.3 |
2.5.0 | mmcv-full>=1.1.5, <1.3 |
2.4.0 | mmcv-full>=1.1.1, <1.3 |
2.3.0 | mmcv-full==1.0.5 |
2.3.0rc0 | mmcv-full>=1.0.2 |
2.2.1 | mmcv==0.6.2 |
2.2.0 | mmcv==0.6.2 |
2.1.0 | mmcv>=0.5.9, <=0.6.1 |
2.0.0 | mmcv>=0.5.1, <=0.5.8 |
インストール
Dockerが使える環境であればDockerfileが公式から提供されています。
Google Colabを利用する場合、こちらの記事が役に立つと思います。
今回はcondaで環境構築するので、Anaconda等を事前にインストールします。
1. condaによる仮想環境の作成
conda create -n open-mmlab python=3.7 -y
conda activate open-mmlab
2. PyTorchとtorchvisionのインストール
環境に応じて、公式サイトの手順に従ってインストールする。
conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch
3. mmcv-fullのインストール
pip install mmcv-full==1.2.6
4. MMDetectionをgithubからクローン
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
5. インストール
pip install -r requirements/build.txt
pip install -v -e .
おまけ
環境構築からインストールまで行うためのシェルスクリプト
mmdetection_env.sh
conda create -n open-mmlab python=3.7 -y
# >>> conda init >>>
__conda_setup="$(CONDA_REPORT_ERRORS=false '$HOME/anaconda3/bin/conda' shell.bash hook 2> /dev/null)"
if [ $? -eq 0 ]; then
\eval "$__conda_setup"
else
if [ -f "$HOME/anaconda3/etc/profile.d/conda.sh" ]; then
. "$HOME/anaconda3/etc/profile.d/conda.sh"
CONDA_CHANGEPS1=false conda activate base
else
\export PATH="$PATH:$HOME/anaconda3/bin"
fi
fi
unset __conda_setup
# <<< conda init <<<
conda activate open-mmlab
conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch -y
pip install mmcv-full==1.2.6
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
pip install -r requirements/build.txt
pip install -v -e .