ubuntu16.04中安装caffe2 和 detectron

1 篇文章 0 订阅
1 篇文章 0 订阅

参考文章:https://www.cnblogs.com/zhencv/p/8384419.html

1,  首先安装好cuda和cudnn,我目前是使用cuda8.0,cudnn6.1(安装教程参考本博客其他文章,基本所有的框架都是需要这个步骤)

2,   按照官网教程按照caffe2:

        https://caffe2.ai/docs/getting-started.html?platform=ubuntu&configuration=compile

注意:这里使用的是anaconda2,python2.7,目前caffe2对python2和python3都支持,但是后面的detectron对python3支持不好,所以这里推荐使用python2(还遇到了一个问题,就是使用python3编译完成后,并且make install ,之后,然后改为python2,make clean ,然后make会出错,重新下载了源码可以解决)

这里也简单梳理下流程。

首先确定系统和安装方式,这里采用直接编译源码的方式。

(1)安装需要的库

sudo apt-get update
sudo apt-get install -y --no-install-recommends \
      build-essential \
      cmake \
      git \
      libgoogle-glog-dev \
      libgtest-dev \
      libiomp-dev \
      libleveldb-dev \
      liblmdb-dev \
      libopencv-dev \
      libopenmpi-dev \
      libsnappy-dev \
      libprotobuf-dev \
      openmpi-bin \
      openmpi-doc \
      protobuf-compiler \
      python-dev \
      python-pip                          
sudo pip install \
      future \
      numpy \
      protobuf

(2)libgflags2根据系统选择

# 对于 Ubuntu 14.04
sudo apt-get install -y --no-install-recommends libgflags2
# 对于 Ubuntu 16.04
sudo apt-get install -y --no-install-recommends libgflags-dev

 

对于GPU的相关依赖我们已经在上面完成配置了,caffe2也给了官方GPU配置的说明,也可以作为一种参考。

另外如opencv库也可以根据自己的需要进行安装

 

(3)完成准备工作后就可以下载源码进行编译。

git clone --recursive https://github.com/caffe2/caffe2.git && cd caffe2
make && cd build && sudo make install

 

(4)测试caffe2是否安装成功

cd ~ && python -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure"

如果是failure,试着cd到caffe2/build的文件夹里,然后执行

python -c 'from caffe2.python import core' 2>/dev/null

如果successful,说明是环境变量的设置问题,如果还是失败,则会有具体的提示。

配置环境变量,编辑~/.bashrc

sudo gedit ~/.bashrc

添加以下内容:

export PYTHONPATH=/usr/local:$PYTHONPATH
export PYTHONPATH=$PYTHONPATH:/home/....../caffe2/build  (后面路径为caffe2的编译路径,在caffe2/build中,命令行输入pwd可以得到这个路径)
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH


3,  安装detectron

还是那句话,最好的教程是官方的文档。

https://github.com/facebookresearch/Detectron/blob/master/INSTALL.md


找个合适的文件位置进行clone
git clone https://github.com/facebookresearch/detectron

编译python库
cd DETECTRON/lib && make (DETECTRON表示你clone下来的文件夹)
测试是否编译成功
python2 $DETECTRON/tests/test_spatial_narrow_as_op.py (DETECTRON表示你clone下来的文件夹)

如果遇到缺少库的问题,可以根据报错的信息把库加上

另外的问题可以参见官方的Troubleshooting

4, detectron使用测试

参考

https://github.com/facebookresearch/Detectron/blob/master/GETTING_STARTED.md

训练相关的我们放到之后去说,这里先说下利用已经训练好的模型和算法框架来进行目标的检测。

根据不同的需求,对象检测可以分为几种,1)Bounding box,2)Mask,3)KeyPoints

这里给出两个例子,用mask和

python2 tools/infer_simple.py \
    --cfg configs/12_2017_baselines/e2e_mask_rcnn_R-101-FPN_2x.yaml \
    --output-dir /tmp/detectron-visualizations \
    --image-ext jpg \
    --wts https://s3-us-west-2.amazonaws.com/detectron/35861858/12_2017_baselines/e2e_mask_rcnn_R-101-FPN_2x.yaml.02_32_51.SgT4y1cO/output/train/coco_2014_train:coco_2014_valminusminival/generalized_rcnn/model_final.pkl \
    demo

python2 tools/infer_simple.py \
    --cfg configs/12_2017_baselines/e2e_keypoint_rcnn_R-101-FPN_s1x.yaml \
    --output-dir /tmp/detectron-visualizations \
    --image-ext jpg \
    --wts https://s3-us-west-2.amazonaws.com/detectron/37698009/12_2017_baselines/e2e_keypoint_rcnn_R-101-FPN_s1x.yaml.08_45_57.YkrJgP6O/output/train/keypoints_coco_2014_train%3Akeypoints_coco_2014_valminusminival/generalized_rcnn/model_final.pkl \
    demo

下面第一和第二个图是Bounding box和Mask的效果,第三和第四个图是Bounding box和人体骨骼keypoints的效果。

 

 


  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值