detectron2(目标检测框架)无死角玩转-01:框架安装,以及demo测试(winds + linux)

以下链接是个人关于detectron2(目标检测框架),所有见解,如有错误欢迎大家指出,我会第一时间纠正。有兴趣的朋友可以加微信:a944284742相互讨论技术。若是帮助到了你什么,一定要记得点赞!因为这是对我最大的鼓励。
detectron2(目标检测框架)无死角玩转-00:目录

注 意 , 本 人 编 写 该 博 客 的 时 间 为 2020 / 01 / 17 , 也 就 是 说 , 你 现 在 下 载 的 作 者 代 码 或 许 \color{red}{注意,本人编写该博客的时间为2020/01/17,也就是说,你现在下载的作者代码或许} 2020/01/17
和 本 人 的 代 码 不 一 样 ( 如 果 作 者 有 更 新 过 ) \color{red}{和本人的代码不一样(如果作者有更新过)}

资源下载

在安装之前,请大家从以下链接下载好detectron2源码:
https://github.com/facebookresearch/detectron2

linux 环境

模块安装

下载好之后呢,还是老旧的套路,阅读README.md,可以看到如下:
detectron2(目标检测框架)无死角玩转-01:框架安装,以及demo测试(winds + linux)_第1张图片
进入INSTALL.md,可以看到如下:
detectron2(目标检测框架)无死角玩转-01:框架安装,以及demo测试(winds + linux)_第2张图片
构建以上环境之后就可以去编译安装detectron2了,根据下面的提示:
detectron2(目标检测框架)无死角玩转-01:框架安装,以及demo测试(winds + linux)_第3张图片
本人在detectron2根目录,注意不是子目录detectron2,执行如下:

pip install -e .

别少了那个点啊,安装成功之后本人打印如下:
detectron2(目标检测框架)无死角玩转-01:框架安装,以及demo测试(winds + linux)_第4张图片
好了,下面我们就要进行demo测试了。

demo测试

通过根目录下面的README.md,可以看到如下:
detectron2(目标检测框架)无死角玩转-01:框架安装,以及demo测试(winds + linux)_第5张图片
点击进入可以看到:
detectron2(目标检测框架)无死角玩转-01:框架安装,以及demo测试(winds + linux)_第6张图片
我们首先来一个最简单的版本,这列为了方便,我给大家复制了一张图像,input1.jpg
detectron2(目标检测框架)无死角玩转-01:框架安装,以及demo测试(winds + linux)_第7张图片
我们把这张图片当做输入,在根目录执行如下指令:

python demo/demo.py --config-file configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml   
--input input1.jpg   
--output . 
--opts MODEL.WEIGHTS detectron2://COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x/137849600/model_final_f10217.pkl  

本人把input1.jpg 放在根目录下,执行之后覆盖根目录下的input1.jpg 显示如下:
detectron2(目标检测框架)无死角玩转-01:框架安装,以及demo测试(winds + linux)_第8张图片
这样我们就完成测试了,出了语义分割之外,大家还可以通过以下链接下载更多的模型,通过如下链接:
detectron2(目标检测框架)无死角玩转-01:框架安装,以及demo测试(winds + linux)_第9张图片
下载好之后,更改–opts MODEL.WEIGHTS参数,指定路径重新运行即可,不如目标检测,本人测试如下:
detectron2(目标检测框架)无死角玩转-01:框架安装,以及demo测试(winds + linux)_第10张图片

Winds 环境

首先,本人是参考该链接内容进行安装:
https://github.com/conansherry/detectron2

本人ancoda环境(cuda10.1)

conda create -n  detectron2  -y python=3.6
conda activate detectron2
conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
pip install cython
pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
pip install tensorboard
pip install cloudpickle
pip install matplotlib

然后进入 detectron2 的根目录执行:

python setup.py build develop

报错解决

报错一
Traceback (most recent call last):
File “setup.py”, line 12, in
import Cpython
ModuleNotFoundError: No module named ‘Cpython’

比较坑爹的问题,直接找到 setup.py 文件,把 import Cpython 注释掉即可,然后重新执行。

后续本人没有报错,完成打印显示如下:
detectron2(目标检测框架)无死角玩转-01:框架安装,以及demo测试(winds + linux)_第11张图片
测试执行如下指令(和前面的一样,主要一下winds下 / 要替换成 \ ):

python demo\demo.py --config-file configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml    --input input1.jpg    --output .  --opts MODEL.WEIGHTS detectron2://COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x/137849600/model_final_f10217.pkl

测试结果查看,参考 Linux 的介绍即可。

报错二
玄 学 报 错 \color{red}{玄学报错}
Process finished with exit code -1073741819 (0xC0000005)
训练的时候程序莫名奇妙的退出了,调试可以发现代码在 losses.backward() 处莫名奇妙的退出。本人调试了很久,最终发现主要是需要cuda为10.1,而且 pytorch 的配置需要如下:

结语

到这里为止,我们已经安装好了detectron2,并且进行了demo演示,那么接下来我们就去训练coco数据集,以及自己的数据集。

你可能感兴趣的:(detectron2,目标检测,深度学习,pytorch,神经网络)