首先先介绍安装之前的系统环境
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
>>>
至此,大功告成 ~