目录
下面的内容主要参考了官网提供的安装教程(点击进入官网安装教程),亲测有效。
如果想使用conda来管理环境的话,下面的所有操作都可以在激活的虚拟环境中进行。
-
1.安装最新的caffe2
首先需要将caffe2安装好,建议从源码安装,这样就能保证当前的caffe2支持Detectron ,如果你的caffe2版本太低不支持Detectron的话,建议升级caffe2。
具体安装方法可以参考我的另外一篇博客(建议使用第3种安装方法)
检查当前caffe2能否支持Detectron的方法:
python2 -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure"
python2 -c 'from caffe2.python import workspace; print(workspace.NumCudaDevices())'
第一条语句检查caffe2是否安装成功,正常情况应该输出success;第二条语句检测当前可用的gpu数目,正常情况下输出的数字应该是大于0的数字。
假如两条语句都没有异常,就说明当前caffe2可以支持 Detectron。
-
2.安装COCO API
(1)下载COCO API
将COCO API下载到指定路径,例如我想存放的路径为/home/wangyuanwei/Deeplearning/caffe2,则运行:
git clone https://github.com/cocodataset/cocoapi.git /home/wangyuanwei/Deeplearning/caffe2
(2)安装 COCO API
从终端进入cocoapi文件夹,并运行安装指令:
cd /home/wangyuanwei/Deeplearning/caffe2/cocoapi
make install
如果用make install没有安装成功的话,也可以用下面的方法来安装
python2 setup.py install --user
-
3.安装Detectron
(1)下载Detectron文件
将Detectron下载到指定的安装路径,例如我想存放的路径为/home/wangyuanwei/Deeplearning/caffe2/detectron,则运行:
git clone https://github.com/facebookresearch/detectron /home/wangyuanwei/Deeplearning/caffe2
(2)安装Python 所需要的依赖项
例如,我所运行的指令为:
pip install -r /home/wangyuanwei/Deeplearning/caffe2/detectron/requirements.txt
(3) 设置Python模块
cd /home/wangyuanwei/Deeplearning/caffe2/detectron && make
(4) 测试Detectron的安装
运行一个测试程序,例如
python2 /home/wangyuanwei/Deeplearning/caffe2/detectron/detectron/tests/test_spatial_narrow_as_op.py
没有异常,则说明安装成功!
-
4.链接COCO数据集
Detectron通过软链接将 COCO 数据集的 images 和 annotations 链接到Detectron安装路径下的datasets路径下 ,如:
mkdir -p $DETECTRON/detectron/datasets/data/coco
ln -s /path/to/coco_train2014 $DETECTRON/detectron/datasets/data/coco/
ln -s /path/to/coco_val2014 $DETECTRON/detectron/datasets/data/coco/
ln -s /path/to/json/annotations $DETECTRON/detectron/datasets/data/coco/annotations
Coco数据集具体的链接方法可以参考官网(点击进入官网的详细教程)
软连接完成后就可以进行模型训练了。
-
5.定制 Operators
(1)编译定制的 operators 库
在Detectron的安装根目录下编译
cd /home/wangyuanwei/Deeplearning/caffe2/detectron && make ops
(2)测试定制的 operator 是否成功:
python2 detectron/tests/test_zero_even_op.py
可以看到我的测试成功了: