手把手教你深度学习目标检测框架 detectron2 环境搭建
近主要在搞深度学习方面的一些东西,所以相关的文章会多一些。当然有关于 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
fvcore 是 FAIR 开源的 一个轻量级的核心库,它提供了在各种计算机视觉框架(如 Detectron2)中共享的常见和基本的功能。该库需要 >=Python 3.6 的 Python 环境。
Conda 安装命令为:
conda install -c fvcore fvcore
pypi 安装命令为:
pip install fvcore
参考章节 3 中使用pypi 镜像的方式会更快一些。
5. pycocotools
微软发布的 COCO 数据库是一个大型图像数据集, 专为对象检测、分割、人体关键点检测、语义分割和字幕生成而设计。COCO API 提供了 Matlab, Python 和 Lua 的 API 接口. 该 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 版本时,可能导致 nvcc 与 cuda 版本不一致,网上有解决办法,我没有遇到所以只是提醒你一下。
8. 总结
一般情况下按照我上面的步骤安装都没有太多问题。
相关文章