微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ubuntu14.04环境下配置caffe

1. 安装build-essentials

安装开发所需要的一些基本包

[html] view plain copy
  1. sudoapt-getinstallbuild-essential
如果出现essential包不可用的情况,可以执行下列命令解决

2. 安装ATLAS for Ubuntu

执行命令:

注:ATLAS,MKL,或OpenBLAS都可以,我这里选择安装ATLAS

3. 安装OpenCV

这个尽量不要手动安装, Github上有人已经写好了完整的安装脚本:https://github.com/jayrambhia/Install-OpenCV
下载该脚本,解压".zip"文件,解压命令:

安装2.4.10 (推荐)

https://gist.github.com/bearpaw/c38ef18ec45ba6548ec0
  1. 下载安装脚本https://github.com/bearpaw/Install-OpenCV
  2. 进入目录Install-OpenCV/Ubuntu/2.4
  3. 执行脚本sh sudo ./opencv2_4_10.sh
安装2.4.9(不推荐)

[html] view plain copy
  1. unzip/home/liuxiabing/下载/Install-OpenCV-master.zip

进入Ubuntu/2.4 目录,给所有shell脚本加上可执行权限: 然后安装最新版本 (当前为2.4.9):

4. 安装其他依赖项

Ubuntu14.04用户执行

使用其它系统的可以参考官网介绍。

5. 编译Caffe

完成了上述环境的配置,就可以编译Caffe了!
下载caffe安装包,下载地址:https://github.com/BVLC/caffe
解压该压缩包,解压缩命令:

注:如果解压位置出错了,可以使用以下命令删除该目录及所有的子目录:

或者利用clone命令下载安装,命令如下:

sudo apt-get install git
git clone https://github.com/BVLC/caffe.git


进入caffe根目录, 首先复制一份Makefile.config,命令:

然后修改里面的内容,主要需要修改的参数包括

1.修改文件权限 规则:chmod [who] [+ | - | =] [mode] 文件名¼

使用 chmod g+w Makefile.config

2.打开文件进行修改

使用 sudo vim Makefile.config

前提是安装了vim,如果没有安装vim,在根目录下使用命令sudo install vim安装

按“i”键开始修改修改结束后按esc键,键入“:wq”保存并退出

修改 将# cpu_ONLY = 1前面的#去掉 并按“tab”键,(认从tab处执行

cpu_ONLY 是否只使用cpu模式,由于我没有NVIDIA的显卡,就没有安装CUDA,因此需要打开这个选项。
其余的一些配置可以根据需要修改
BLAS (使用intel mkl还是OpenBLAS)
MATLAB_DIR 如果需要使用MATLAB wrapper的同学需要指定matlab的安装路径,如我的路径为 /usr/local/MATLAB/R2013b (注意该目录下需要包含bin文件夹,bin文件夹里应该包含mex二进制程序)

DEBUG 是否使用debug模式,打开此选项则可以在eclipse或者NSight中debug程序

完成上述设置后,开始编译:

注意:-j4 是指使用几个线程来同时编译,可以加快速度,j后面的数字可以根据CPU core的个数来决定,如果CPU是4核的,则参数为-j4,也可以不添加这个参数,直接使用“make all”,这样速度可能会慢一点儿。

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

Caffe认情况会安装在$CAFFE_ROOT,就是解压到的那个目录,例如:$ home/username/caffe-master,所以下面的工作,
认已经切换到了该工作目录。下面的工作主要是测试Caffe是否工作正常,不做详细评估。具体设置请参考官网:
http://caffe.berkeleyvision.org/gathered/examples/mnist.html
(1)数据预处理
可以用下载好的数据集,也可以重新下载,直接下载的具体操作如下:

[html] view plain copy

    $cddata/mnist
  1. $sudosh./get_mnist.sh
(2)重建LDB文件,就是处理二进制数据集为Caffe识别的数据集,以后所有的数据,包括jpe文件都要处理成这个格式,执行命令如下:

注意下面命令是在caffe文件下进行
copy

    cd
  1. sudosh./examples/mnist/create_mnist.sh
生成mnist-train-leveldb/ 和 mnist-test-leveldb/文件夹,这里包含了LDB格式的数据集
注:新版caffe都需要从根目录上执行,如果使用下列命令执行:

copy

    #cdexamples/mnist
  1. #sudosh./create_mnist.sh
可能会遇到这个错误:./create_mnist.sh: 16: ./create_mnist.sh: build/examples/mnist/convert_mnist_data.bin: not found
(3)训练mnist
如果没有GPU,只有cpu的话,需要先修改examples/mnist目录下lenet_solver.prototxt文件,将solver_mode:GPU改为 solver_mode:cpu

命令如下:

cd examples
cd mnist
sudo vim lenet_solver.prototxt
进入文件后按i修改修改之后按esc保存修改,之后按:wq保存修改。(如果修改错误,按:q!不保存退出后重新进入修改

修改后结果如下所示:

copy
    #solvermode:cpuorGPU
  1. solver_mode:cpu

修改可以使用vi编辑命令(ubuntu14.0.4下也可以直接双击打开,修改后保存即可),如果是只读文件,不能编辑,可以用sudo命令,比如:
copy
    sudovilenet_solver.prototxt

修改完成后,再在根目录下(即/caffe目录)执行下面的命令进行训练:

copy
    $sudosh./examples/mnist/train_lenet.sh


最终训练完的模型存储为一个二进制的protobuf文件:lenet_iter_10000
至此,Caffe安装的所有步骤完结。

注:如果进入到mnist目录下执行这个sh命令,会出现错误。即这样操作

copy
    cd./examples/mnist
  1. sudosh./train_lenet.sh
会有一个caffe/.build_release/tool/caffe找不到或不存在的错误


7.使用MNIST数据集进行测试

得到训练模型 lenet_iter_10000,利用命令行的方法对模型进行测试。
在caffe官网给出来了三种编译方式 命令行、python、matlab.这里使用的是命令行的方法

1.bash下建立.sh执行文件(脚本) 先cd到 ./caffe/examples/mnist文件夹下,命令行输入

备注:脚本的书写可参考Caffe官网tutorial/interfaces中TEST的讲解
[html] view plain copy
  1. touch test_lenet.sh #生成.sh文件
  2. sudo vim test_lenet.sh #进入.sh文件键入内容
  3. #键入的内容
  4. #!/usr/bin/env sh(注意不能分成两行,楼主把sh放在下一行导致错误运行结果为单独的一个#号)
  5. "空行"
  6. ./build/tools/caffe test --model=examples/mnist/lenet_train_test.prototxt --weights=examples/mnist/lenet_iter_10000.caffemodel -iterations 100
    备注:因为没有用GPU所以官网指导文档中的"gpu 0"这部分参数就没有添加进去
  7. 保存.sh文件  按ESC键 然后键入:wq 

2.将目录返回到caffe目录下 一路 cd ..
[html] view plain copy

  1. sudosh./examples/mnist/test_lenet.sh



8.编译python wrapper
安装python
编译
(1)安装 Anaconda,下载地址:www.continuum.io/downloads,根据自己python的版本选择Anaconda的版本。

(2)到下载目录( Anaconda所在目录),执行
例如:
$ cd Downloads
$ ls  Anaconda2-4.0.0-Linux-x86.sh
$ bash Anaconda2-4.0.0-Linux-x86.sh

(3)cd到根目录(没有任何子目录:例xn@xn-virtual-machine:$ )下,执行
sudo vim ~/.bashrc
文件进行如下修改文件末尾最后添加就可以,方法与之前改变进入vim改变文件一样的操作:按i或a修改,按esc结束,按“:wq”保存并退出。)
[plain] view plain copy
  1. #addlibrarypath
  2. LD_LIBRARY_PATH=anaconda2/lib:$LD_LIBRARY_PATH
  3. exportLD_LIBRARY_PATH
(4) 安装pip和python-dev ,执行(安装过tensorflow的可以忽略此步)

(5)cd到caffe/python目录下,执行(该过程需要较长时间)
copy
forreqin$(catrequirements.txt);dosudopipinstall$req;done

(6)cd到caffe-master目录下,编译执行
copy
sudomakepycaffe


如果出现报错:fatal error: numpy/arrayobject.h没有那个文件或目录
解决方案: sudo apt-get install python-numpy
然后继续用上面命令编译

9.编译matlab wrapper
安装matlab(参考之前的博文)
编译
(1)安装matlab
(2)修改Makefile.config 在caffe-master目录下

(3)cd到caffe-maste目录下,编译执行
copy
sudomakematcaffe
  • 原文地址:https://www.jb51.cc/ubuntu/353731.html

    版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

    相关推荐