配置环境:Ubuntu14.04
一、先下载caffe源码,在https://github.com/BVLC/caffe直接下载仍是用wget下载均可以。
二、解压后会看到里面既有Cmakelist文件和Makefile,Makefile.config用make直接编译和cmake都是能够的,两种方式我都测试了,下面讲一下直接make的方式。
三、先作准备工做安装依赖库,打开caffe的官方安装文档http://caffe.berkeleyvision.org/install_apt.html,其实直接用官方的东西是最好的,仍是少搜贴子了,html
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-devsudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler sudo apt-get install --no-install-recommends libboost-all-dev 因为是Ubuntu14.04的还要加几个包
四、注意注意 这里安装完的opencv版本应该是2.7的,很关键后面会用到。要以用 pkg-config --modversion opencv查看一下版本
五、准备Makefile的配置文件,目录下自己就有个例子咱们改改就能够了cp -rf Makefile.config.example Makefile.config,打开 Makefile.config
打开这个选项,只用CPU编译,因为先前安了很久的cuda都装不上,多是个人机器显卡有问题,都快崩溃了,后来果断放弃改用cpu
六、有的地方好像还用atlas我也忘了,反正先装上吧sudo apt-get install libatlas-base-dev
七、而后直接make -j4
八、因为之前本身还安装了opencv3.6的库,这下出了很大的麻烦,caffe默认去找了3.6的库,这样就会出现找不到libIlmImf.so的状况,新的opencv3.6是不带so文件的,有三种方法能够解决
1.将新版本卸载,2.采用opencv版本切换这个能够网上搜一下很用弄,3.将旧版本的库复制到新版本的目录下,旧版本是/usr/lib/下,新版本是在/usr/local/lib下
九、此次再从新编译有的会出现python
[cpp] view plain copy
|
这种状况应该是库没有连接到,这个是采用网上找的方法,将opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs加到LIBRARIES下,git
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5 opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs |
记得要make clean 或者rm -rf ./build/*,而后再make
十、顺利编译成功,有点小兴奋唉。。。
十一、进入cd build/tools/,下面应该有个caffe的可执行文件,运行一下试试会弹出这么一坨,基本已经安装成功了。
十二、由于下面的例子通常都是python的还须要安装一下python库,github
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev |
1三、跑一个小例子,知足一下好奇心,http://caffe.berkeleyvision.org/model_zoo.html这上面是有不少牛人的模型,咱们下载一个测试一下。
1四、咱们测试一下识别图片的小例子吧,回到根目录下有个scripts目录,app
./scripts/download_model_binary.py models/bvlc_reference_caffenet |
1五、接下来下载对应的标签文件
测试
./data/ilsvrc12/get_ilsvrc_aux.sh |
1六、在网上随便下载了图片,放在了examples/images/dada.jpg
运行模型进行检测ui
./build/examples/cpp_classification/classification.bin \ models/bvlc_reference_caffenet/deploy.prototxt \ models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel \ data/ilsvrc12/imagenet_mean.binaryproto \ data/ilsvrc12/synset_words.txt \ examples/images/dada.jpg |
看见输出结果显示
88%的几率是非洲象,这个区分的仍是很细的,本身也能够下载一下大牛的模型本身试试哦,后面也会传一些本身训练的模型上来
有什么不明白的给我留言。google