本系列文章由 @yhl_leo 出品,转载请注明出处。

文章链接: http://blog.csdn.net/yhl_leo/article/details/50967820


本文将继续接着上一篇博客(Ubuntu14.04 安装CUDA7.5 + Caffe + cuDNN),讲述如何配置pycaffe,以及运行rbgirshick提供的py-faster-cnn代码,先上图:

1 基本依赖项

首先安装一些依赖项:

$ sudo apt-get install python-skimage python-protobuf python-yaml
$ sudo pip install easydict

2 OpenCV

在编译过程中使用前文的OpenCV编译方式,后面在编译时出现了链接opencv的bug,推荐使用下面的方法:Ubuntu 15.10 OpenCV 3.1 Installation Guide

opencv下载链接:http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/ ,本人下载的是3.1.0版本。

下载完成后,解压并创建build文件夹:

$ mkdir build
$ cd build/
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
$ make

安装:

$ sudo make install
$ sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
$ sudo ldconfig
$ sudo apt-get update

3 环境变量

编译完成后,需要添一些环境变量:

$ export PYTHONPATH=${HOME}/caffe/python:$PYTHONPATH
$ export MATLABPATH=${HOME}/caffe/matlab:$MATLABPATH
$ export LD_LIBRARY_PATH=${HOME}/caffe/build/lib:$LD_LIBRARY_PATH
$ export PATH=/usr/local/cuda-7.5/bin:$PATH
$ export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH

(其中第二行是配置matcaffe的,如果没有安装matlab就不要输入。)

不要直接在终端里输入,看到一篇帖子说,这种在终端里输入的方式,是暂时性的,当你关闭输入的那个终端窗口或者reboot后,设置的环境变量就没了,所以,建议把这些环境变量添加到/etc/profile文件的末尾:

$ sudo vi /etc/profile

添加完成后,输入

source /etc/profile

建议重启(reboot),然后检查一下环境变量:

$ echo $PYTHONPATH

4 修改Makefile.config

提供本人的Makefile.config的文件:yhlleo/caffe.Makefile.config

如果没有安装matlab,请把MATLAB_LIB保持注释状态。

matlab 2014a的安装方法可以参照:Ubuntu14.04安装Matlab2014a

5 编译pycaffe

$ cd ~/caffe/
$ sudo make clean
$ sudo make all -j8
$ sudo make test -j8
$ sudo make runtest -j8
$ sudo make pycaffe -j8

如果编译出现make: Nothing to be done for 'pycaffe',就使用命令sudo make clean

编译有没有问题最简单的测试方法,就是在终端中依次输入:

$ python
>>>import caffe

如果提示没找到caffe模块,就说明没安装好,仔细检查是哪里出问题。

6 测试py-faster-rcnn

下载rbgirshick提供的开源代码:rbgirshick/py-faster-rcnn

其中的README.md,对于如何下载代码、数据以及运行测试demo讲述的比较清晰,就不累述。

下载数据,运行./tools/demo.py后,就可以得到一组检测结果图片(开篇给出的图片,是在sublime中编译执行的结果)。

祝好运~~

源自本人博客网站:yhl’s blog

最新文章

  1. 自定义UITableViewCell实现左滑动多菜单功能LeftSwipe
  2. java的三大框架(三)---Hibernate
  3. 每天一个linux命令(21):find命令之xargs
  4. 【CodeForces 589F】Gourmet and Banquet(二分+贪心或网络流)
  5. linux查看是否被入侵
  6. mshadow笔记
  7. node.js在windows下的学习笔记(1)---安装node.js
  8. Django练习项目之搭建博客
  9. Jsp 中文乱码,解决
  10. C++ 头文件系列(array)
  11. CommonsChunkPlugin并不是分离第三方库的好办法(DllPlugin科学利用浏览器缓存)
  12. LVS服务原理以及搭建(理论+干货)
  13. VisualVM 分析full GC问题记录
  14. commons - lang(1) StringUtils
  15. CommonJS,AMD,RequireJS的区别
  16. 2013 HTML5中国峰会演讲:Android上的HTML5:过去,现在和将来
  17. XXXXX,这个域名
  18. js定时函数,定时改变字体的大小
  19. 数据结构与算法(Python)
  20. django直接操作MySQL,中文乱码

热门文章

  1. BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第1章节--SharePoint 2013 介绍 SharePoint 2013 平台
  2. 【入门篇】ANDROID开发之BUG专讲
  3. 求int型数据在内存中存储时1的个数
  4. Swift学习笔记(二十二)——字典的基本操作
  5. 0x61 最短路
  6. reportlab使用示例:文字和图片
  7. mvc 伪静态任意扩展名的实现方法
  8. C# WinForm的练习
  9. meta标签的作用及整理
  10. Java基础5一数组的常见应用算法