您的位置:首页 > Web前端

caffe + ubuntu15.04 安装教程

2015-11-19 20:43 309 查看
一、需要安装的软件

并行编程与计算平台

1、cuda-repo-ubuntu1504-7-5-local_7.5-18_amd64.deb

2、Mathworks.Matlab.R2014a.Unix.iso

3、parallel_studio_xe_2015.tar.gz

4、cudnn-7.0-linux-x64-v3.0-rc.tgz

5、caffe-master  (https://github.com/BVLC/caffe)

6、glog-0.3.3.tar.gz

二、安装ubuntu

caffe 不能配置在虚拟机上,有的小伙伴为了省事,会将ubuntu部署在虚拟机上,就会导致安装cuda后重启就不能进入图形界面。因为cuda与硬件直接相关,所以必须安装在物理机上(博主就在这边死了好多次

)。

在安装ubuntu时需要注意的是磁盘分配,因为后期深度学习的数据集据说会很大,所以我们尽量给ubuntu多分配一点磁盘空间,我分配了500G。

根分区:/ 50G

swap交换分区:swap 12G (若电脑内存小于16G,设置成1.5~2倍,否则 ,等于电脑内存)

home分区 :剩余空间

三、nVidia 驱动和CUDA Toolkit 安装(*.deb 方法)

1、CUDA Repository

获取CUDA安装包,安装包请自行去NVidia官网下载。

cuda下载链接:https://developer.nvidia.com/cuda-toolkit-archive

$ sudo dpkg -i cuda-repo-ubuntu1504-7-5-local_7.5-18_amd64.deb

$ sudo apt-get update

2、CUDA Toolkit

$ sudo apt-get install -y cuda

3、Environment Variables

$ export CUDA_HOME=/usr/local/cuda-7.5

$ export LD_LIBRARY_PATH=${CUDA_HOME}/lib64

$ PATH=${CUDA_HOME}/bin:${PATH}

$ export PATH

cuda还有一种(*run)方法,过于繁琐,不推荐,所以也不再这边赘述了

安装完cuda后切忌自动更新ubuntu系统,否则会不能进入图形界面。

四、安装Python

选择一个适合你的IDE运行环境,我是用的是Spyder,因为它内置了 iPython 环境,Caffe有不少的程序是基于 iPython 环境完成的。安装方法很简单,直接在Ubuntu软件中心搜索“spyder”即可安装。

五、安装Matlab

1、 预准备
选择Mathworks.Matlab.R2014a.Unix.iso - 右键 - 使用磁盘映像挂载器打开”
进入装载的虚拟光盘,拷贝全部文件至home/Matlab 文件夹
(PS:我的原则是能GUI就GUI,喜欢CMD的可以参照执行)
复制Crack/install.jar至 home/Matlab/java/jar/ 并覆盖源文件
$ sudo cp install.jar /home/Matlab/java/jar/
2、授权安装文件夹$ chmod a+x Matlab -R
3、安装
$ sudo ./install
选项:不使用Internet安装
序列号: 12345-67890-12345-67890
默认路径:/usr/local/MATLAB/R2014a
激活文件:license_405329_R2014a.lic
拷贝 libmwservices.so 至 /usr/local/MATLAB/R2014a/bin/glnxa64
$ sudo cp libmwservices.so /usr/local/MATLAB/R2014a/bin/glnxa64/
安装完毕,程序默认启动路径:
$ sh /usr/local/MATLAB/R2014a/bin/matlab
4、解决编译器gcc/g++版本问题。(这里因为折腾了一会,所以只做参考,基本流程就2步,有问题,大家可以自己尝试。)
因为Ubuntu 15.04的gcc/g++版本是4.9.2,而Matlab 2014a(2015a)的版本是4.7.x所以在使用matla调用mex文件的时候,基本上都会报错,根据报错信息,考虑如下两步解决方案。
1. 降级安装gcc/g++版本为4.7.x
(1). 下载gcc/g++ 4.7.x
$ sudo apt-get install -y gcc-4.7$ sudo apt-get install -y g++-4.7
(2). 链接gcc/g++实现降级
$ cd /usr/bin$ sudo rm gcc$ sudo ln -s gcc-4.7 gcc$ sudo rm g++$ sudo ln -s g++-4.7 g++
2. 暴力引用新版本GLIBCXX_3.4.20
$ sudo cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 /usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6.0.20(libstdc++.so.6.0.20的版本,可能因为系统不同而不同,使用最新的就可以了。)
目录切换到 /usr/local/MATLAB/R2014a/sys/os/glnxa64/ ,非常重要!
$ sudo mv libstdc++.so.6 libstdc++.so.6.backup(仅仅是备份,可以不操作)。
$ sudo ln -s libstdc++.so.6.0.20 libstdc++.so.6
$ sudo ldconfig -v
通过命令“strings /usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6 | grep GLIBCXX_” 可以看一下,是否已经成功包含了GLIBCXX_3.4.20,如果已经存在,基本上就成功了。

六、caffe安装

对于Caffe的安装严格遵照官网的要求来:http://caffe.berkeleyvision.org/installation.html

1、安装BLAS

这里可以选择(ATLAS,MKL或者OpenBLAS),我这里使用MKL,首先下载并安装英特尔® 数学内核库 Linux* 版MKL,下载链接是:https://software.intel.com/en-us/intel-education-offerings, 请下载Student版,先申请,然后会立马收到一个邮件(里面有安装序列号),打开照着下载就行了。下载完之后,要把文件解压到home文件夹(或直接把tar.gz文件拷贝到home文件夹,为了节省空间,安装完记得把压缩文件给删除喔~),或者其他的ext4的文件系统中。

接下来是安装过程,先授权,然后安装:

$ tar zxvf parallel_studio_xe_2015.tar.gz (如果你是直接拷贝压缩文件过来的)

$ chmod a+x parallel_studio_xe_2015 -R

$ sudo ./install_GUI.sh

2、MKL与CUDA的环境设置

1. 新建intel_mkl.conf, 并编辑之:

$ sudo gedit /etc/ld.so.conf.d/intel_mkl.conf

/opt/intel/lib/intel64

/opt/intel/mkl/lib/intel64

2. 新建cuda.conf,并编辑之:

$ sudo gedit /etc/ld.so.conf.d/cuda.conf

/usr/local/cuda/lib64

/lib

3. 完成lib文件的链接操作,执行:

$ sudo ldconfig -v

3、安装OpenCV 3.0.0

1. 下载并编译OpenCV(官网原版OpenCV:http://opencv.org/), 或者使用本站提供的修改版的安装包 Install-OpenCV-master (下面的安装方式使用该包完成,安装包修改了dependencies.sh文件并增加了OpenCV
3.0.0的安装文件,同时保留了原来的2.3x和2.4x版)

2. 切换到文件保存的文件夹,然后安装依赖项:

$ sudo sh Ubuntu/dependencies.sh

3. 切换目录Ubuntu\3.0\安装OpenCV 3.0.0rc1:

$ sudo sh opencv3_0_0-rc1.sh

保证网络畅通,因为软件需要联网这里时间较长,请耐心等待。。。,

4、安装其他依赖项

1. Google Logging Library(glog),下载地址:https://code.google.com/p/google-glog/,然后解压安装:

$ tar zxvf glog-0.3.3.tar.gz

$ ./configure

$ make

$ sudo make install

如果没有权限就chmod a+x glog-0.3.3 -R , 或者索性 chmod 777 glog-0.3.3 -R , 装完之后,这个文件夹就可以kill了。

2. 其他依赖项,确保都成功

$ sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev

$ sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

5、安装Caffe并测试

1. 安装pycaffe必须的一些依赖项:

$ sudo apt-get install -y python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags Cython ipython

$ sudo apt-get install -y protobuf-c-compiler protobuf-compiler

2. 安装配置nVidia cuDNN 加速Caffe模型运算

a. 安装cuDNN

这里需要安装
cudnn-7.0-linux-x64-v3.0-rc.tgz, 否则会报错

$ sudo cp cudnn.h /usr/local/include

$ sudo cp libcudnn.so /usr/local/lib

$ sudo cp libcudnn.so.7.0 /usr/local/lib

$ sudo cp libcudnn.so.7.0.64 /usr/local/lib

b. 链接cuDNN的库文件

$ sudo ln -sf /usr/local/lib/libcudnn.so.7.0.64 /usr/local/lib/libcudnn.so.7.0

$sudo ln -sf /usr/local/lib/libcudnn.so.7.0 /usr/local/lib/libcudnn.so

$ sudo ldconfig -v

3. 切换到Caffe-master的文件夹,生成Makefile.config配置文件,执行:

$ cp Makefile.config.example Makefile.config

4. 配置Makefile.config文件(仅列出修改部分)

a. 启用CUDNN,去掉"#"(目前caffe-master仍然只支持R1版本)

USE_CUDNN := 1

b. 启用GPU,添加注释"#"

# CPU_ONLY := 1

c. 配置一些引用文件(增加部分主要是解决新版本下,HDF5的路径问题)

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/lib/x86_64-linux-gnu/hdf5/serial/include

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial

d. 启用Intel Parallel Studio XE 2015 Professional Edition for C++ Linux

BLAS := mkl

e. 配置路径,实现caffe对Python和Matlab接口的支持

PYTHON_LIB := /usr/local/lib

MATLAB_DIR := /usr/local/MATLAB/R2014a

5. 配置Makefile文件(实现对OpenCV 3.x的支持)(不是Makefile.config)

查找“Derive include and lib directories”一节,修改“LIBRARIES +=”的最后一行,增加opencv_imgcodecs

opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs

6. 编译caffe-master!!!"-j8"是使用CPU的多核进行编译,可以极大地加速编译的速度,建议使用。

$ make all -j8

$ make test -j8

$ make runtest -j8

编译Python和Matlab用到的caffe文件

$ make pycaffe -j8

$ make matcaffe -j8

6、使用MNIST数据集进行测试

Caffe默认情况会安装在$CAFFE_ROOT,就是解压到那个目录,例如:$ home/username/caffe-master,所以下面的工作,默认已经切换到了该工作目录。下面的工作主要是,用于测试Caffe是否工作正常,不做详细评估。具体设置请参考官网:http://caffe.berkeleyvision.org/gathered/examples/mnist.html

1. 数据预处理

$ sh data/mnist/get_mnist.sh

2. 重建lmdb文件。Caffe支持三种数据格式输入网络,包括Image(.jpg, .png等),leveldb,lmdb,根据自己需要选择不同输入吧。

$ sh examples/mnist/create_mnist.sh

生成mnist-train-lmdb 和 mnist-train-lmdb文件夹,这里包含了lmdb格式的数据集

3. 训练mnist

$ sh examples/mnist/train_lenet.sh

至此,Caffe安装的所有步骤完结,下面是一组简单的数据对比,实验来源于MNIST数据集,主要是考察一下不同系统下CPU和GPU的性能。可以看到明显的差别了,虽然MNIST数据集很简单,相信复杂得数据集,差别会更大,Ubuntu+GPU是唯一的选择了。

error:

1.
 caffe中安装
build-essential
提示包损坏解决方法


sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential -f


2.

编译过程中可能会遇到错误,比如./include/caffe/util/cudnn.hpp:8:34: fatal error: caffe/proto/caffe.pb.h: No such file or director,这是因为protobuf和pillow没有安装,或者是通过apt-get安装的。使用pip重新安装一遍即可解决问题。删除caffe-mast(提前保存Makefile.config和Makefile),解压,解压重新编译。

$pip install protobuf --upgrade -i http://pypi.douban.com/simple
$pip install pillow --upgrade -i http://pypi.douban.com/simple
3. make runtest -j8   error

[  FAILED  ] 7 tests, listed below:

[  FAILED  ] SGDSolverTest/0.TestSnapshotShare, where TypeParam = caffe::CPUDevice<float>

[  FAILED  ] AdaGradSolverTest/0.TestSnapshotShare, where TypeParam = caffe::CPUDevice<float>

[  FAILED  ] NesterovSolverTest/0.TestSnapshotShare, where TypeParam = caffe::CPUDevice<float>

[  FAILED  ] AdaDeltaSolverTest/0.TestSnapshotShare, where TypeParam = caffe::CPUDevice<float>

[  FAILED  ] AdamSolverTest/0.TestSnapshotShare, where TypeParam = caffe::CPUDevice<float>

[  FAILED  ] RMSPropSolverTest/0.TestSnapshot, where TypeParam = caffe::CPUDevice<float>

[  FAILED  ] RMSPropSolverTest/0.TestSnapshotShare, where TypeParam = caffe::CPUDevice<float>

address

a.uninstall boost ,Boost库安装在/usr/local/include/boost和/usr/local/lib中,因此要卸载Boost库只需要删除相应的文件即可。

 

sudo rm –rf /usr/local/include/boost

sudo rm –rf /usr/local/lib/libboost_*

b.install boost 1.55

4. 设置PYTHON路径方法

export PYTHONPATH=/home/username/caffe/python

查看路径

echo $PYTHONPATH


5. 若无cv2:

apt-get install python-opencv


参考文档:https://ouxinyu.github.io/Blogs/20140723001.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  深度学习