Detectron2为Facebook基于Detectron重构的目标检测和分割等视觉任务的代码库,代码链接进入
笔者最近基于MMDetection的代码没有取得一个好的结果,打算再看一下Detectron2结果如何。以下是笔者的配置:
GPU R2070S
Centos7
cpu i5
需要先安装Anaconda3
简要介绍下配置流程:
1 创建detectron2的虚拟环境(尽量配置清华源可参照可以加速我们的安装)
conda create -n detectron2 python=3.7
2 进入虚拟环境
conda activate detectron2
3 安装Pytroch(尽量配置清华源参照,不然很慢!!!)
conda install cudatoolkit=10.1 # 我的 cuda版本为10.1.243(最新的10.1驱动) 所以用10.1,如果是具体的10.1.105等,需要指明版本,这个是个cuda的工具包,安装后,我们在安装torch 和 torchvision,网速可以的话,很快,前提是配置了清华源
conda install pytorch torchvision # 默认安装的最新版的torch 以及与其相配的torchvision 我这里时 1.5 满足该项目的torch要求
4 配置COCOAPICentos7安装方法 // Windows10安装方法
5 下载源码(clone or download 下载)git下载有时候比较慢,所以推荐直接下载压缩包,解压就行
解压下载的 zip文件,unzip Detectron2-mater.zip
6 编译
cd detectron2-mater
pip install -e .
会安装很多包,等一会儿即可
【注意】在官网Install.md有这样一个表格,其实他是下载已经编译过的文件,和以上的 pip install -e .一致,其实不推荐使用,因为下面有标注说他可能不适配一些新的项目,这个需要注意!尽量用源码安装
7.测试
以上步骤安装完成后,到底该项目能不能用呢?这就需要我们进行测试,如果测试过程中没有问题,一般训练自己的数据集也不会有问题,我的下篇就是讲如何训练自己的数据集。
【注】以下图为例,这个图是我从一位博主处拷来测试的
将以上图片保存于demo文件夹下,然后运行测试指令:
python demo.py --config-file ../configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml \
--input input1.jpg --output . \
[--other-options]
--opts MODEL.WEIGHTS detectron2://COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x/137849600/model_final_f10217.pkl
这个是官方的测试指令,加了个output .这个主要是为了让经过推断的图像输出在根目录下,input1.jpg 为我们自定义的图像名称,这个指令运行时,会先从模型保存网站上加mask_rcnn_R_50_FPN_3x/137849600/model_final_f10217.pkl 这个模型,然后会进行测试,如果没有MODEL.WEIGHTS那个变量,系统也会下载一个模型,但是那个模型为空模型,测试时,源图像会照本输出,所以尽量下载mask_rcnn_R_50_FPN_3x/137849600/model_final_f10217.pkl 这个模型,然后我们运行后,下载完模型后,很快看到下图:
这就测试成功了,可以使用该框架训练自己的数据了,但是训练自己的数据集,该模型有些须讲究,请看我下篇文章!谢谢大家!