mmdetection入坑日記(一) 環境安裝
首先先介紹安裝之前的系統環境
Ubuntu 16.04.6 LTS
NVIDIA GTX 2080
cuda:10.0(此處一定注意檢查自己的環境,關乎到後面cudatoolkit版本的安裝問題)
PS:官網上給出的教程默認是安裝python3.7的,這裏安裝了好幾次,在訓練的時候都會報錯
ImportError: libtorch_cpu.so: cannot open shared object file: No such file …
安裝 Anaconda
這裏默認大家都已經安裝好了 anaconda
了,如果沒有安裝的,可以去官網下載一個,直接安裝即可。
創建 Anaconda 的虛擬環境
前面說了,按住那個 python3.7
之後會出現幾個問題,所以這裏安裝 python3.6
conda create -n open-mmlab python=3.6 -y
conda activate open-mmlab
添加國內鏡像源
.爲了避免conda
下載包速度慢,先添加官方及第三方清華鏡像源(這個地方注意一下,是http
,http
,http
,不是別的博客說的https
,寫https
能報HTTP ERROR
報到你崩潰,趟了無數遍坑之後血和淚的教訓)
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
搭建環境
先安裝 numpy1.16.0
,因爲此時不安裝後面會自動安裝numpy1.18.2
,numpy
的版本會直接關乎到最後模型測試時能否正常計算map
指標。
conda install numpy==1.16.0
安裝 pytorch
(我這裏默認安裝的是 torch 1.4.0
版本)
注意此處的cudatoolkit=10.0是對應你的cuda版本的,如果你的cuda版本是 9.0/ 9.2/ 10.1,那麼相應改爲cudatoolkit=9.0/ 9.2/ 10.1,不知道自己的 cuda 版本?去
/usr/local/
下去看。
conda install pytorch torchvision cudatoolkit=10.0
安裝 cython
conda install cython
下載 mmdetection 源碼
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
安裝編譯
pip install -r requirements/build.txt
pip install "git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI"
pip install -v -e . # or "python setup.py develop"
測試
命令行進入 python
環境之後測試
Python 3.6.10 | packaged by conda-forge | (default, Apr 24 2020, 16:44:11)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.__version__
'1.4.0'
>>> torch.cuda.is_available()
True
>>>
至此,大功告成 ~