手把手教你深度学习目标检测框架 detectron2 环境搭建

2020-05-28 00:00:00 命令 是一个 提供 环境 安装


近主要在搞深度学习方面的一些东西,所以相关的文章会多一些。当然有关于 Java 方面的文章也在积极的策划中。如果你有好的文章或者干货不妨投稿到 微信圈子 程序员交流圈 中分享给大家。

1. detectron2

FAIR 开源的目标检测框架 Detectron2,基于 Pytorch 。它训练比从前更快,功能比从前更全,支持的模型也比从前更丰盛。比如对初代的模型 Faster R-CNN,Mask R-CNN,RetinaNet,DensePose 等的支持外,还支持一些新的模型,如 Cascade R-NN,Panoptic FPN,TensorMask 等 ,而且解决了以前 Pytorch 生产难以部署的诟病。所以我迫不及待的要试一试, 记录一下Detectron2 环境搭建过程 。

2. pytorch 环境

首先我们要搭建一个 Pytorch 环境,步骤可参考之前的 利用 Conda 安装深度学习框架 Pytorch 一文即可。

3. opencv3

Opencv3 是一个知名的计算机视觉处理库。在 Python 3.6 环境下使用下面的命令并就可以了:

conda install -c menpo opencv3

但是在 Python 3.7 环境下上面的命令是的。可以使用 pypi 进行安装:

pip install opencv-python

如果你的网络不好也很容易失败,我们可以临时使用清华的 pypi 镜像来安装:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python

4. fvcore

fvcoreFAIR 开源的 一个轻量级的核心库,它提供了在各种计算机视觉框架(如 Detectron2)中共享的常见和基本的功能。该库需要 >=Python 3.6Python 环境。

Conda 安装命令为:

conda install -c fvcore fvcore

pypi 安装命令为:

pip install fvcore

参考章节 3 中使用pypi 镜像的方式会更快一些。

5. pycocotools

微软发布的 COCO 数据库是一个大型图像数据集, 专为对象检测、分割、人体关键点检测、语义分割和字幕生成而设计。COCO API 提供了 Matlab, PythonLuaAPI 接口. 该 API 接口可以提供完整的图像标签数据的加载, parsing 和可视化。通过 pycocotools 库我们可以使用 COCO 提供的一系列功能。在不同的环境下安装方式不同。这里以 linux 环境为例:

pip3 install -U Cython
pip3 install -U pycocotools

6. 其它包依赖

按照项目提供的 requirements 安装即可。

GCC 编译器版本 >= 4.9

7. 安装 detectron2

重点来了,接下来的重头戏就是安装 detectron 2 了。

7.1 直接安装

你可以直接执行下面的命令直接安装:

pip install 'git+https://github.com/facebookresearch/detectron2.git'

如果提示没有权限请在上述命令行中添加 --user 参数。

7.2 本地安装

你也可以 Git 拉到本地安装:

git clone https://github.com/facebookresearch/detectron2.git
cd detectron2 && pip install -e .

7.3 小贴士

对于 MacOS 用户来说,无论是 采用 7.1 或者 7.2 都应该在其基础上执行以下安装命令:

 MACOSX_DEPLOYMENT_TARGET=10.9 CC=clang CXX=clang++ pip install -e .

而且如果机子上安装多个 cuda 版本时,可能导致 nvcccuda 版本不一致,网上有解决办法,我没有遇到所以只是提醒你一下。

8. 总结

一般情况下按照我上面的步骤安装都没有太多问题。




相关文章