-
TIP
目前pytorch已有1.0版本,直接pip安装即可!很方便!
以下是从源码编译安装!
-
绪论
最近在做一些目标检测的问题,想使用一些目标检测的API。之前使用的是tensorflow的object detection API,效果一般。据大佬汇报,detectron是一个很好的目标检测的API,而且方便使用。
我就想尝试安装测试一下,安装过程中,参考了很多博客,遇到了很多问题,可能是因为环境不一样,最终安装成功。故将安装过程记录于此,供大家参考。
首先安装pytorch,因为caffe2并入了pytorch。我参考网上一些博客,都没安装成功。pytorch的安装方法有很多种,但是使用anaconda安装特别简单,傻瓜式安装,但是要保证自己的环境没有问题。
-
系统配置与环境
系统:ubuntu 14.04
GPU:GTX 1080Ti
CUDA:9.0(CUDA8.0+cudnn6应该也行)
CUDNN: 7.0
gcc,g++:4.9(好像5.0以上的会导致编译出错)
anaconda:2
python:2.7(detectron目前支持2.7,我首先用python3编译的,安装完成后发现运行会出问题,又改为python2.7。主要是一些库python2与python3不一样,手动修改的话,要改好多,所以就放弃用python3了)
-
检查环境
在命令行中输入
which python
确保返回的是anaconda bin中的python。(这里不要使用虚拟环境,虚拟环境的安装方法可能和用anaconda安装不一样)同时确保python确实是python2.7!这很关键!
我的返回结果是/home/xxx/anaconda2/bin/python
-
pytorch安装
在确保上面的环境没问题之后,使用caffe2官网安装教程中的Anaconda Install Path来安装就可以直接装好了。就是
git clone --recursive https://github.com/pytorch/pytorch.git && cd pytorch
./scripts/build_anaconda.sh --install-locally --cuda 9.0 --cudnn 7
所有的环境都会自动帮你安装好。所以推荐这种安装方式。
-
测试pytorch是否安装成功
安装完成后,运行代码进行测试
cd ~ && python -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure"
不会出现错误信息。
运行代码进行测试
python2 -c 'from caffe2.python import workspace; print(workspace.NumCudaDevices())'
会返回GPU的数量。
如果报错,请仔细检查前面的环境是否有问题。
-
安装coco API
运行代码,参考Caffe2 - Detectron 安装
pip install numpy pyyaml matplotlib opencv-python>=3.0 setuptools Cython mock
# COCOAPI=/path/to/clone/cocoapi
git clone https://github.com/cocodataset/cocoapi.git $COCOAPI
cd $COCOAPI/PythonAPI
# Install into global site-packages
make install
# Alternatively, if you do not have permissions or prefer
# not to install the COCO API into global site-packages
python2 setup.py install --user
-
安装detectron
# DETECTRON=/path/to/clone/detectron
git clone https://github.com/facebookresearch/detectron $DETECTRON
cd $DETECTRON/lib
make
-
测试detectron是否安装成功
python2 $DETECTRON/tests/test_spatial_narrow_as_op.py
注意此处不用加sudo,因为sudo可能会运行系统自带的python,而不是我们配置的anaconda中的python。
-
结语
至此,detectron安装成功!下面就可以跑程序啦~
后面如果有空的话,会出detectron mask rcnn训练自己数据的教程。