caffe是一个简洁高效的深度学习框架,具体介绍可以看这里,caffe环境配置过程可以参考这里,我在搭建环境时搜集了许多资料,这里整理了一下,介绍一下caffe在无CUDA的环境下如何配置。

1. 安装build-essentials

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

sudo apt-get install build-essential

如果出现essential包不可用的情况,可以执行下列命令解决:

sudo apt-get update

2. 安装ATLAS for Ubuntu

执行命令:

sudo apt-get install libatlas-base-dev

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

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

unzip /home/joe/Install-OpenCV-master.zip

进入Ubuntu/2.4 目录, 给所有shell脚本加上可执行权限:

chmod +x *.sh

然后安装最新版本 (当前为2.4.9):

sudo ./opencv2_4_9.sh

4. 安装其他依赖项

Ubuntu14.04用户执行

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

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

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

unzip /home/joe/caffe-master.zip

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

sudo rm -rf caffe-master

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

cp Makefile.config.example Makefile.config

然后修改里面的内容(Makefile.config),主要需要修改的参数包括:

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程序

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

. make all -j4  

. make test  

. make runtest

注意:-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)数据预处理
    可以用下载好的数据集,也可以重新下载,直接下载的具体操作如下:

. $ cd caff-master   (go caff home dir )

. $ sudo sh data/mnist/get_mnist.sh

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

$ sudo sh ./examples/mnist/create_mnist.sh

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

注:新版caffe都需要从根目录上执行,如果使用下列命令执行:

. # cd examples/mnist

. # sudo sh ./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,修改后结果如下所示:

. # solver mode: CPU or GPU  

. solver_mode: CPU

修改时可以使用vi编辑命令,如果是只读文件,不能编辑,可以用sudo命令,比如:

sudo vi lenet_solver.prototxt

先进入命令模式,使用a进入编辑模式,修改完之后,使用esc退出编辑模式,进入末行模式,再使用“:wq”保存修改并退出(“:q!”为退出但不保存修改)
修改完成后,再执行下面的命令进行训练:

. $ cd examples/mnist  

. $ sudo sh ./train_lenet.sh

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

----------------------------------------------------------------------------------

参考资料:

Caffe 实例测试一: MNIST
http://blog.sciencenet.cn/blog-1583812-843207.html Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置说明
http://www.cnblogs.com/platero/p/3993877.html CNN之Caffe配置
http://www.cnblogs.com/alfredtofu/p/3577241.html Training LeNet on MNIST with Caffe
http://caffe.berkeleyvision.org/gathered/examples/mnist.html Caffe+Ubuntu14.+CUDA6.5新手安装配置指南
http://www.haodaima.net/art/2823705 caffe安装指南
http://www.haodaima.net/art/2823705

参考链接:http://94it.net/a/jingxuanboke/2015/0322/493702.html

.

[转]caffe+Ubuntu14.0.4 64bit 环境配置说明(无CUDA,caffe在CPU下运行) --for --Amd的更多相关文章

  1. Caffe+Ubuntu14.04+CUDA7.5 环境搭建(新人向)指南

    序 本文针对想学习使用caffe框架的纯新手,如果文中有错误欢迎大家指出. 由于我在搭建这个环境的时候参考了许多网上的教程,但是没有截图,所以文中图片大多来源于网络. 本文没有安装matlab的步骤, ...

  2. Caffe + Ubuntu 14.04 64bit + CUDA6.5 + 无GPU 配置

    官网: http://caffe.berkeleyvision.org/installation.html#compilation 参考网站: http://www.cnblogs.com/dupul ...

  3. caffe环境的搭建(Ubuntu14.04 64bit,无CUDA,caffe在CPU下运行)

    1. 安装BLAS : $ sudo apt-get install libatlas-base-dev 2. 安装依赖项: $ sudo apt-get install libprotobuf-de ...

  4. android studio2.0 搭建Robotium环境--有被测源代码的情况下

    1.导入robotium-solo-5.2.1.jar 包    导入junit:4.12.jar2.app- -src- -main- -libs 或者app-libs下 复制进去后,右键add a ...

  5. Caffe Ubuntu14.04 64位 的最快安装 (cuda7.5 + cudnn7.0 2016最新)

    最近因为各种原因,装过不少次Caffe,安装过程很多坑,为节省新手的时间,特此总结整个安装流程. 关于Ubuntu 版本的选择,建议用14.04这个比较稳定的版本,但是千万不要用麒麟版!!!比原版体验 ...

  6. Caffe+CUDA8.0+CuDNNv5.1+OpenCV3.1+Ubuntu14.04 配置参考文献 以及 常见编译问题总结

    Caffe + CUDA8.0 + CuDNNv5.1 + OpenCV3.1 + Ubuntu14.04  配置参考文献 ---- Wang Xiao  Anhui University  CVPR ...

  7. Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置说明

    本文安装显卡驱动的方式已经过时, 最新安装说明请参考发布在Gist上的这篇文章,如有任何疑问,仍然欢迎在本文下留言 :P (本文档使用同一块NVIDIA显卡进行显示与计算, 如分别使用不同的显卡进行显 ...

  8. 迁移学习︱艺术风格转化:Artistic style-transfer+ubuntu14.0+caffe(only CPU)

    说起来这门技术大多是秀的成分高于实际,但是呢,其也可以作为图像增强的工具,看到一些比赛拿他作训练集扩充,还是一个比较好的思路.如何在caffe上面实现简单的风格转化呢? 好像网上的博文都没有说清楚,而 ...

  9. Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置说明2

    1. 安装build-essentials 安装开发所需要的一些基本包 sudo apt-get install build-essential 2. 安装NVIDIA驱动 (3.4.0) 2.1 准 ...

随机推荐

  1. 创建git标签【转】

    转自:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137695175857 ...

  2. 验证码图片生成工具类——Captcha.java

    验证码图片生成工具,使用JAVA生成的图片验证码,调用getRandcode方法获取图片验证码,以流的方式传输到前端页面. 源码如下:(点击下载  Captcha.java) import java. ...

  3. 17.allegro导入导出[原创]

    一.从一张现成的PCB中导出元件封装到库中 --- -- 二. ①规则 ②元件摆放位置信息导出 这个时候我们在新建的电路板上: ① 导入记事文档 -- -- 到如后: 系统本来默认的是双层,这个时候变 ...

  4. WP7 MD5加密

    WP7不支持MD5加密,在网上找了一个实现MD5加密的算法. //Copyright (c) Microsoft Corporation. All rights reserved. using Sys ...

  5. 【笨嘴拙舌WINDOWS】SetCapture和ReleaseCapture

    光电鼠标器是通过红外线或激光检测鼠标器的位移,将位移信号转换为电脉冲信号,再通过程序的处理和转换来控制屏幕上的光标箭头的移动的一种硬件设备. 换句话说,鼠标无时无刻不在监视着人类的活动,当人类用意识去 ...

  6. Android Studio 配置使用百度api (附带简单样例)

    还是和同学开发的那个课程作业项目的app, 要使用到百度地图的api 但是,官方文档貌似只有Eclipse的例子,对Android Studio似乎没有说明.  难道,是因为后者是 "Doo ...

  7. UVa 1149 (贪心) Bin Packing

    首先对物品按重量从小到大排序排序. 因为每个背包最多装两个物品,所以直觉上是最轻的和最重的放一起最节省空间. 考虑最轻的物品i和最重的物品j,如果ij可以放在一个包里那就放在一起. 否则的话,j只能自 ...

  8. UVa 575 Skew Binary 歪斜二进制

    呵呵,这个翻译还是很直白的嘛,大家意会就好. 第一次看到这个高大上题目还是有点小害怕的,还好题没有做过深的文章. 只要按照规则转化成十进制就好了,而且题目本身也说了最大不超过一个int的范围(2^31 ...

  9. HDU 1506 Largest Rectangle in a Histogram

    这个问题姑且也叫做最大子矩阵吧 给一个树状图,求一个最大面积的子矩阵 思路是这样的,对于每个单位矩阵,求出左边连续不比它低的矩阵的下标,放在l数组里 同样,再求出右边连续的不比它低的矩阵的下标 这样, ...

  10. Strlen()与sizeof()

    在学习C语言时以及面试中,经常会见到strlen()与sizeof()这一对容易混淆的概念,搞清楚这两个概念,往往考察了编程人员对语言的基本掌握能力. 首先大家先明确两个概念是: 1.strlen() ...