mmdetection的官网:https://github.com/open-mmlab/mmdetection/blob/master/docs/get_started.md
官网给了linux的安装步骤,我试了用ubuntu16.04按照这个教程安装很顺利,因为大体步骤和windows区别不大,所以还是顺带写linux上的安装步骤,多少有点查考性:
conda create -n open-mmlab python=3.7 -y
conda activate open-mmlab
conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.2 -c pytorch -y
# install the latest mmcv,这里可能会找不到,那就到这条命令后面哪个网址去找到下载下来再安装
pip install mmcv-full==latest+torch1.6.0+cu102 -f https://download.openmmlab.com/mmcv/dist/index.html
# install mmdetection
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
pip install -r requirements/build.txt
pip install -v -e .
官网上也说了目前对windows的安装是实验性的,并不是完全支持,所以相对linux有些麻烦一点(好像也不是没有很麻烦,只是我搞了很久)。
windows安装的总体步骤:
conda create -n mmd2 python=3.7
conda activate mmd2
#pytorch=1.6 torchvision==0.7.0可以先下载再安装,cudatoolkit=10.2还是就这种安装方式
conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.2
pip install mmcv-full==1.1.5+torch1.6.0+cu102 -f https://download.openmmlab.com/mmcv/dist/index.html
# install mmdetection
git clone https://github.com/open-mmlab/mmdetection.git
#进入到mmdetection2.6版本
cd mmdetection
pip install -r requirements.txt
python setup.py develop
以上要注意两点:
pytorch部分
一点是pytorch的安装可能会因为网络问题中断,这里我采用的方法是先下载下来离线的安装包,然后再安装的。
下载下来在安装的方法见我的原博客:https://blog.youkuaiyun.com/yanghao201607030101/article/details/109904368
即把所需要的所有安装包下载下来后通过这种方式安装。
pip install --target=C:\ProgramData\Anaconda3\Lib\site-packages pyXXX.whl
比如要安装的pytorch 1.6.0,就去上面提到的网址下载pytorch1.6.0, torchvision0.7.0 cdatoolkit=10.2这三个下来然后通过上述方式安装。
然后这里cudatoolkit=10.2在上面的网址找不到,于是我用conda方式安装,conda方式安装的话如果你使用了镜像源就不要后面的-c pytorch,加了就是不适用镜像源。而且就算使用了镜像源我也因为网速的原因中断了,于是像设置pip 下载时等待时间那样,这里设置conda下载的等待时间,使它耐心些,不要因为网络一时不好就放弃。
conda config --set remote_read_timeout_secs 100.0
mmcv-full部分
第二点是mmcv-full,需要去下面这个网址去查看下当前支持的windows版本有哪些,
https://download.openmmlab.com/mmcv/dist/index.html
支持window的最高版本是1.1.5,所以最高只能安装这个版本,然后也是采取下载下来再安装。
检验是否安装成功
如果安装成功,那么便能在该mmd2的python环境中成功执行以下代码。(根目录是mmdetection)
from mmdet.apis import init_detector, inference_detector
config_file = 'configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py'
device = 'cuda:0'
# init a detector
model = init_detector(config_file, device=device)
# inference the demo image
inference_detector(model, 'demo/demo.jpg')
安装完成后还要安装opencv,指定安装这个版本的,不然运行会报错。
pip install opencv-python==4.2.0.34
tips
最后我安装完成后conda list没有显示mmdet,但是我觉得自己没有错,于是试了官网给的测试是否安装成功的方法,然后成功执行了。
如果哪里没有成功的话大概率是版本问题,或者pip下载包的时候超时了。 版本问题就仔细看看mmdetection的哪个网站上mmcv所支持的版本,然后去对照着下载对应pytorch版本。
pip 安装requirements的时候超时可以设置等待100并且加个豆瓣源,例如:
pip --default-timeout=100 install torch=1.7.0 torchvision=0.8.1 torchaudio===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html -i https://pypi.douban.com/simple
安装环境很考验人的耐心,不要随便放弃,一天不行就两天,去百度b站看看,或者找找github上面的issue、命令行里报错描述什么的,最后总能解决的。