昨天在mac上折腾了一天都没有安装成功,晚上在mac上装了一个ParallelDesktop虚拟机,然后装了linux,十分钟就安装好了,我也是醉了=。=

主要过程稍微记录一下:

1.安装BLAS

sudo apt-get install libatlas-base-dev

2.安装依赖项

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

3.安装glog

这个要翻墙,我放在我的百度云上了。

tar zxvf glog-0.3..tar.gz
cd glog-0.3.
./configure
make
sudo make install

4.安装gflags

wget https://github.com/schuhschuh/gflags/archive/master.zip
unzip master.zip
cd gflags-master
mkdir build && cd build
export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=
make
sudo make install

这一步需要cmake,如果没有安装可以用 sudo apt-get install cmake 安装。

5.安装lmdb

git clone https://gitorious.org/mdb/mdb.git
cd mdb/libraries/liblmdb
make
sudo make install

如果没有安装git,也要用 sudo apt-get install git 来安装。

注:如果可以翻墙,只用下面一句就可以安装gflags,glog和lmdb了,省了3,4,5这三步。

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

6.下载Caffe

git clone git://github.com/BVLC/caffe.git

7.安装Caffe

cd caffe
cp Makefile.config.example Makefile.config

因为这里没有gpu,所以需要设置Makefile.config文件中的CPU_ONLY:= 1,把这句的注释去掉就可以了。

然后编译

make all
make test
make runtest

安装好以后我们就可以试着在mnist上跑一下lenet了。

1.首先获取mnist数据

cd caffe
./data/mnist/get_mnist.sh

2.然后创建lenet

./examples/mnist/create_mnist.sh

注意一定要在caffe的根目录下运行以下命令,否则会报“ build/examples/mnist/convert_mnist_data.bin: not found”的错误,参见这里

3.训练cnn

没有gpu的话要记得把caffe/examples/mnist/lenet_solver.prototxt中的solver_mode设置成solver_mode: CPU。然后在根目录下执行:

./examples/mnist/train_lenet.sh

准确率可以达到0.9912

因为caffe的tutorial上有很大一部分是python的,所以后来又安装了一下python的接口。

1.首先安装python

2.安装pip

sudo apt-get install python-pip python-dev build-essential 

3.运行以下代码安装必要的依赖项:

sudo pip install -r ./python/requirements.txt

4.这里我运行了make clean以及其他编译的caffe的命令,重新编译了一次caffe,但我不确定是不是必须的。

5.在caffe的根目录下运行:

make pycaffe

这里遇到了一个问题:

virtual memory exhausted: Cannot allocate memory
make: *** [python/caffe/_caffe.so] Error

按照这里的方法增加linux虚拟机的内存就可以解决了。

6.把caffe/python的路径加到python路径中:

运行python进入python shell,然后运行下列命令:

import sys
sys.path.append("path/to/caffe/python/")
exit()

7. 这时候再次进入python shell,运行import caffe就没有报错了。

参考

[1]http://blog.csdn.net/fengbingchun/article/details/45535741

[2]http://caffe.berkeleyvision.org/install_apt.html

[caffe]linux下安装caffe(无cuda)以及python接口的更多相关文章

  1. Caffe + Ubuntu 14.04 64bit + 无CUDA(linux下安装caffe(无cuda)以及python接口)

    安装Caffe指导书 环境: Linux 64位 显卡为Intel + AMD,非英伟达显卡 无GPU 一. 安装准备工作 1. 以管理员身份登录 在左上角点击图标,搜索terminal(即终端),以 ...

  2. 来杯Caffe——在ubuntu下安装Caffe框架并测试

    Caffe是一种深度学习框架...blablabla...... Caffe要在ubuntu下安装 1. 安装依赖 sudo apt-get install libatlas-base-dev sud ...

  3. Linux下安装3.0以上的python

    Linux下自带的python2.7是不建议删除的,很多系统软件依赖python2.7,但是现在我们学习python一般需要python3.0,下面介绍安装python3.0. 1.进入python官 ...

  4. [Android Studio 权威教程]Windows下安装Android Studio

    从AS 0.5版本号開始使用.也是AS的推行者,在ApkBus公布的第一篇Android Studio Perview 2 获得了50K的浏览,1800多条回复下载. 在我的[Android Stud ...

  5. [转]Caffe在Linux下的安装,编译,实验

    Caffe在Linux下的安装,编译,实验  原文地址:http://www.cnblogs.com/evansyang/p/6150118.html 第一部分:Caffe 简介 caffe是有伯克利 ...

  6. Linux下调试caffe

    参考博客:https://blog.csdn.net/xiaoyezi_1834/article/details/50724875 使用Anjuta 我使用的是ubuntu18.04,安装命令: su ...

  7. Linux 下安装mysql 5.7

    Linux 下安装mysql 5.7 本人首次安装时按照菜鸟教程的步骤一步一步来的,结果意外的是 装成5.6了,而且各种无厘头的问题,例如无法启动... 本文参照 大佬:‘这个名字想了很久~’ 的&l ...

  8. Linux下安装Redis以及遇到的问题

    参考链接:https://www.cnblogs.com/zdd-java/p/10288734.html https://www.cnblogs.com/uncleyong/p/9882843.ht ...

  9. Linux下安装JDK 1.8你必须知道的糟心事

    来源:Atstudy网校 1.简介 在Oracle收购Sun后,Java的一系列产品就被整合到Oracle官网中,打开官网乍眼一看也不知道去哪里下载,还的一个一个的摸索尝试,而且网上大多数都是一些Or ...

随机推荐

  1. [转]关于event的两个常被忽略的api:isDefaultPrevented()和preventDefault()

    今天在robert penner(as3 singal的作者)的一篇blog文中顺藤摸瓜到了darron schall的另外一篇blog文(Creating Default, Cancelable E ...

  2. css圆角边框

    一.CSS3圆角的优点 传统的圆角生成方案,必须使用多张图片作为背景图案.CSS3的出现,使得我们再也不必浪费时间去制作这些图片了,而且还有其他多个优点: * 减少维护的工作量.图片文件的生成.更新. ...

  3. CCS样式表

    一.css样式表 1.样式表分类 1.内联式 <p style="font-size:18px;">This is an apple</p> 2.内嵌样式表 ...

  4. 关于GreenOdoo的一个Bug

    动态创建字段的时候,虽然字段已经创建,但是显示的时候会报没有新创建的字段错误: 但是原版是没有任何问题的,记录一下.

  5. 关于http协议的理解

    一.状态码 1.200:请求成功. 2.302:浏览器进行重定向. 3.304:资源已使用,即有缓存. 4.404:请求失败,请求的资源未在服务器上发现. 5.500:服务器端发生错误. 二.php获 ...

  6. min-height

    1.min-height min-height:160px;height:auto!important;height:160px; min-height:160px; 设置对象box的最小高度,Fir ...

  7. IOS第二天多线程-05NSOperationQueue 暂停,和恢复队列任务

    *********** #import "HMViewController.h" @interface HMViewController () <UITableViewDel ...

  8. struct大小

    对齐. #include <iostream> using namespace std; struct S1 { int a; char b; char c; }; struct S2 { ...

  9. C#编码标准

    一.命名约定 1.PascalCasting PascalCasing 每一个单词第一个字母大写,其余字母均小写.例如:FileAccess,ArraySegment等. 除了参数.变量.常量外,所有 ...

  10. Oracle 常用数据类型(转)

    varchar2(6) 张三 --在jbk中是两个字节,在utm中是三个字节char(6) 张 三 --可以确定长度的用charclob --大存储,没事少用,当多余4000字节时,会用lob来存储, ...