windows10下安装detectron2(最新版maskRCNN)
离最初玩maskrcnn快两年了,detectron2上线后还没尝试过,决定在windows上试一下,地址
https://github.com/facebookresearch/detectron2
官方明确说没有专门考虑支持windows,但我看了一下issues中的评论,基本上安装还是问题不大。我只碰到两个问题,这里列出来供大家参考。
(1) clone到本地
git clone https://github.com/facebookresearch/detectron2.git
cd detectron2
(2) 修改cocoeval.cpp第483行
这个主要是因为windows上没有localtime_r这个函数,该函数是threadsafe的,windows上相应的函数为localtime_s。如果不修改的话,报错是这样的,
D:\detectron2\detectron2\layers\csrc\cocoeval\cocoeval.cpp(483): \ C3861: “localtime_r”: 找不到标识符
如何修改?
在D:\devPytorch\detectron2\detectron2\layers\csrc\cocoeval/cocoval.cpp中,添加(不加应该也可以,但我加了)
#include
这个一定要改
localtime_s(&local_time,&rawtime); // changed bymc, originally it is localtime_r(&rawtime, &local_time)
(3) setup.py修改,安装pycocotools
因为pip install pycocotools不会成功,会报错,类似 cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp”,所以我们要手动安装pycocotools。
注释掉下面这一行,
#“pycocotools>=2.0.1”
然后手动安装 pycocotools
方案一 (我用的这个)
CMD 终端中使用 pip 安装:
pip install git+https://github.com/philferriere/cocoapi.git\#subdirectory=PythonAPI
方案二
https://github.com/philferriere/cocoapi下载源码,并进行解压。以管理员身份打开 CMD 终端,并切换到 cocoapi\PythonAPI目录。运行以下指令:
# install pycocotools locally
python setup.py build_ext —inplace
# install pycocotools to the Python site-packages
python setup.py build_ext install
(4) python setup.py install develop
在detectron2主目录下,输入
python setup.py install develop
会安装很多很多的包(facebook真能折腾啊)。
最后,成功安装。
(5) 测试
用detectron2自带的Demo,测试了一下。
随便跑了几张instance segmentation的图片,在CPU模式下平均耗时4s左右,
~/msCoco2017/test2017\000000000001.jpg: detected 4 instances in 3.84s
~/msCoco2017/test2017\000000000016.jpg: detected 4 instances in 4.36s
~/msCoco2017/test2017\000000000019.jpg: detected 3 instances in 4.45s
~/msCoco2017/test2017\000000000057.jpg: detected 3 instances in 4.31s
~/msCoco2017/test2017\000000000063.jpg: detected 4 instances in 3.93s
~/msCoco2017/test2017\000000000069.jpg: detected 17 instances in 4.46s
用Cuda1080跑的,
~/msCoco2017/test2017\000000000001.jpg: detected 4 instances in 1.55s
~/msCoco2017/test2017\000000000016.jpg: detected 4 instances in 0.21s
~/msCoco2017/test2017\000000000019.jpg: detected 3 instances in 0.21s
~/msCoco2017/test2017\000000000057.jpg: detected 3 instances in 0.19s
~/msCoco2017/test2017\000000000063.jpg: detected 4 instances in 0.18s
~/msCoco2017/test2017\000000000069.jpg: detected 17 instances in 0.23s
~/msCoco2017/test2017\000000000080.jpg: detected 4 instances in 0.18s
速度提升还是很可观的,GPU接近实时检测了。
以前的参考
https://blog.csdn.net/tanmx219/article/details/100829920 (这个问题以前有,现在已经没有了)
还没有评论,来说两句吧...