mmdection是什么有什么作用,这里就不介绍了,大家可以在官方github里看
这里就说一些我遇到的问题和一些我的想法。
1、刚开始配置mmdection时,想着在我自己原来的pytorch环境中安装,但是出了一些问题。强烈建议按照官方的说明一步一步的安装,别人的博客就拿来参考,因为mmdection是一直在更新的,包括他的安装步骤也会有少许的更新,一不留神就可能会安装错误。
2、在安装mmdection时最好就是新建一个pytorch环境,不要在原来你的环境里面安装,省去不必要的麻烦。
接下来说一些我的安装步骤,仅供参考,还是那句话,要按官方最新版本的安装步骤来草错操作。
在介绍安装步骤之前,首先来介绍官方安装步骤如下的东西:
注意,这个步骤中的a、b、c等才是安装的主要步骤,它们下面的小分支其实是一些小的注意事项和其他啥的。因此有的地方我们可以忽略。
下面介绍我的安装步骤:
首先第一步,创建conda环境,并激活:
conda create -n open-mmlab python=3.7 -y
conda activate open-mmlab
第二步,安装最新版pytorch环境,这个有不懂的可以按我之前写的一篇博客里进行参考
第三步,安装mmcv:
pip install mmcv-full==latest+torch1.5.0+cu101 -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
第四步,下载mmdection:
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
当然你如果嫌弃这样下载慢,可以直接download下来,然后再返回到你的下载目录里。
第五步,编译
这里,要注意,在编译的时候,不要选择**pip install -v -e .**这样的方式编译,因为这样你每次修改你的代码,都要重新再次编译,具体什么原因,别的安装博客已经说的很清楚了。也就这点和官网的安装步骤不太一样。
pip install -r requirements/build.txt
python setup.py develop
至此,mmdection的安装已经完成了。我们可以下载官方提供的预训练模型进行简单的测试。例如我下载的是faster-rcnn的一个预训练模型。
注意这里千万不要去别人提供的百度网盘下载预训练模型,因为它们的预训练模型和现在的官方提供的mmdection的网络结构是有点不一样的,用别人下载的会出现一些问题,我会在文章结尾说明。
在官方的getstart.md文件里会有测试图片的代码。
这里首先在mmdection目录创建一个chckpoints文件夹,然后把你下载的预训练模型放进这个文件夹里面。
python demo/webcam_demo.py configs/faster_rcnn_r50_fpn_1x_coco.py \
checkpoints/faster_rcnn_r50_fpn_1x_20181010-3d1b3351.pth
注意,这里要把执行语句的faster_rcnn_r50_fpn_1x_20181010-3d1b3351.pth改为你下载的预训练模型,例如我的:
python demo/image_demo.py demo/demo.jpg configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py checkpoints/mask_rcnn_r50_fpn_2x_coco_bbox_mAP-0.392__segm_mAP-0.354_20200505_003907-3e542a40.pth --device cpu
最后会输出一张图片如下
然后说一下我遇到的问题,就是刚开始我从别人网盘下载了预训练模型,但是与遇到如下问题
"Distutils was imported before Setuptools. This usage is discouraged "
The model and loaded state dict do not match exactly
blabla............
最后我下载了官方提供的预训练模型,就解决了。