您的位置:首页 > Web前端

Ubuntu14.04 Caffe安装

2014-12-18 13:09 197 查看
为了使用caffe,特地装了linux系统,版本:Ubuntu14.04

自己对linux一窍不通,安装过程基本是按照这个博客进行的。
http://www.cnblogs.com/platero/p/3993877.html
第一步:

电脑没有独立显卡,所以没有安装cuda

第二步:

原博主使用的是MKL,但我图省事,没有安装MKL,而是用了atlas,一句命令搞定

sudo apt-get install libatlas-base-dev

第三步:

opencv部分,用了https://github.com/jayrambhia/Install-OpenCV的ubuntu下的opencv-2.4.9的脚本

这里直接执行脚本的话,除了错误比较难以定位,所以我是把里面的命令一句一句手动执行的

其中遇到了下面几个问题:

sudo apt-get -y install libopencv-dev提示需要依赖项,

改用sudo aptitude install libopencv-dev

因为没有aptitude,先安装 sudo apt-get install aptitude

sudo apt-get -y install x264 v4l-utils ffmpeg

这一步因为找不到ffmpeg而中断

一般找不到包,就到下面的网址搜索,看哪个镜像上有这个源,添加到source里面就可以了
http://packages.ubuntu.com/
搜索ffmpeg,Distribution选any,因为可能是没有trusty的资源

然后添加镜像,

sudo gedit /etc/apt/sources.list

在sources.list里面加一行deb http://cn.archive.ubuntu.com/ubuntu vivid main universe

然后更新源

sudo apt-get update

然后sudo apt-get -y install x264 v4l-utils ffmpeg就可以了

搞定这三个比较麻烦的依赖项后,继续安装opencv

编译opencv的时候,脚本原有的代码是:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..

这里我去掉了-D WITH_QT=ON,因为我没有装QT,但是需要加上-D BUILD_TIFF=ON,否则编译caffe的时候会有这样的错误

/usr/lib/libopencv_highgui.so.2.4: undefined reference to TIFFRGBAImageOK@LIBTIFF_4.0' 1> 

编译过程如下:

mkdir build

cd build

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D BUILD_TIFF=ON -D WITH_OPENGL=ON..

make -j4

sudo make install

sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'

sudo ldconfig

第四步:

安装其他依赖项,没什么问题

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

第五步:

编译caffe:

开始出现了这个错误:

./include/caffe/util/io.hpp:8:18: fatal error: hdf5.h: 没有那个文件或目录

这里是因为没有按照hdf5库,因为这个库在anaconda里面已经有了,需要配置系统路径。

在~/.bashrc文件里面添加

LD_LIBRARY_PATH=youranacondapath/lib:LD_LIBRARY_PATH

export LD_LIBRARY_PATH

记住啊,youranacondapath替换成你自己的anaconda安装的路径,否则就太二了,我自己就犯了一次二.....

然后出现了这个错误

/usr/lib/libopencv_highgui.so.2.4: undefined reference to TIFFRGBAImageOK@LIBTIFF_4.0' 1> 

/usr/lib/libopencv_highgui.so.2.4: undefined reference toTIFFReadRGBAStrip@LIBTIFF_4.0'

解决方式前面说了,就是编译opencv的时候要加上 -D BUILD_TIFF=ON

然后又出现了这个错误,这个错误曾让我苦恼了两天,还因此把系统搞崩溃一次....不得不重装

最后还是多亏了最开头提到的博客以及热心网友 _无声的雨  的帮助,非常感谢,当代活雷锋啊!

//usr/lib/x86_64-linux-gnu/libx264.so.142:对‘__exp_finite@GLIBC_2.15’未定义的引用

//usr/lib/x86_64-linux-gnu/libx264.so.142:对‘__log10_finite@GLIBC_2.15’未定义的引用

//usr/lib/x86_64-linux-gnu/libxvidcore.so.4:对‘__logf_finite@GLIBC_2.15’未定义的引用

//usr/lib/x86_64-linux-gnu/libvorbis.so.0:对‘__acosf_finite@GLIBC_2.15’未定义的引用

解决方法:如果你装了anaconda包的话,删除anaconda/lib/下面的 libm

sudo rm -rf libm*

最后编译成功,哈哈。

make all

make test

最后一步

make runtest

有错误

.build_release/test/test_all.testbin 0 --gtest_shuffle --gtest_filter="-*GPU*"

.build_release/test/test_all.testbin: error while loading shared libraries: libhdf5_hl.so.8: cannot open shared object file: No such file or directory

make: *** [runtest] 错误 127

这里按照开头提到的博客中红字的两段就能搞定

其实就是在LD_LIBRARY_PATH里面添加anaconda的路径,前面已经做过了。但因为我编译caffe时候用的是自己的用户,后来make runtest的时候用了root用户,两个用户从~/.bashrc不是一个,所以我索性两个都添上了。

好了,折腾了一周,装了两次系统,终于把caffe安装好了,接下来就是学习怎么使用了。

最后还是要谢谢这位博主:普兒,以及这位热心网友:_无声的雨 

是你们让我感受的社会的温暖,一次又一次把我崩溃的心灵拯救回来,让我体会到了人间有真情。

要是哪位读者去这个博客看看,就能看到我在留言里问的各种小白问题了,哈哈。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息