mmdetection v2をUbuntuにインストールする

## mmdetection v3のインストールは以下の記事を参照してください．
https://qiita.com/sister_DB/items/42560f551b65dd976217

# 手順の概要

1. anacondaをインストールする
1. anacondaで仮想環境を作る
1. pytorchをインストールする
1. mmcvをインストールする
1. mmdetectionをインストールする

# anacondaをインストールする

まずはanacondaのサイトにアクセスする．
https://www.anaconda.com/products/distribution

下のほうに**Anaconda Installers**があるので，その中から**64-Bit (x86) Installer**にカーソルを合わせ，右クリックする．
そして，リンクのコピーを押す．

Ubuntuのterminalで以下のコマンドを実行する．

```
$ curl -O [ここにリンクをペーストする]
$ bash [ダウンロードされたshファイル]
```

内容を確認しながらインストールする．

# anacondaで仮想環境を作る

anacondaのbaseには基本的に何もインストールしない．
そこで，baseとは異なる新しい仮想環境を作る必要がある．
以下のコマンドで新しい仮想環境を作れる．

```
(base)$ conda create -n [仮想環境名] python=[3.x]
```

ここでは，以下のコマンドで新しい仮想環境を作ることにする．

```
(base)$ conda create -n mmdet python=3.10
```

新しい仮想環境に移動するには次のようなコマンドを打つ．

```
(base)$ conda activate mmdet
(mmdet)$
```

# pytorchをインストールする

まずは，GPUのドライバのバージョンを確認する．
一番上の行の右側にCUDA Versionがあるので，そこを確認しておく．
```
(mmdet)$ nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.60.13    Driver Version: 525.60.13    CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  On   | 00000000:08:00.0 Off |                  N/A |
|  0%   41C    P8    42W / 390W |     99MiB / 24576MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1224      G   /usr/lib/xorg/Xorg                 86MiB |
|    0   N/A  N/A      1937      G   /usr/bin/gnome-shell               10MiB |
+-----------------------------------------------------------------------------+

```


次に，以下のURLからpytorchのサイトにアクセスする．
https://pytorch.org/get-started/locally/

OSを**Linux**にする．
Compute Platformを**CUDA**を選ぶが，nvidia-smiコマンドで確認したCUDAのバージョンより小さいバージョンにする．
下にでてきたコマンドをコピーして，Ubuntuのterminalにペースト&実行する．

# mmcvをインストールする
**ここでは，mmcv 1.xのインストールについて記述する．**

mmcvのgithubのリポジトリからcloneして，インストールする．
以下のコマンドを実行すればよい．
エラーがなければ，そのまま次に進む．
```
(mmdet)$ git clone https://github.com/open-mmlab/mmcv.git
(mmdet)$ cd mmcv
(mmdet)$ pip install -r requirements/optional.txt
(mmdet)$ MMCV_WITH_OPS=1 pip install -e . -v
(mmdet)$ python .dev_scripts/check_installation.py
(mmdet)$ cd ..
```

# mmdetectionをインストールする
**ここでは，mmdetection 2.xのインストールについて記述する**

mmdetectionのgithubのリポジトリからcloneして，インストールする．
以下のコマンドを実行すればよい．
```
(mmdet)$ git clone https://github.com/open-mmlab/mmdetection.git
(mmdet)$ cd mmdetection
(mmdet)$ pip install -v -e .
```