昨天在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. Tom and paper

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5224 题意: 给出矩形的面积,求出最小的周长. 样例: Sample Input 3 2 7 12   ...

  2. 李洪强漫谈iOS开发[C语言-049]-猜数字游戏

  3. php读取html文件(或php文件)的方法

    一.使用fopen()函数   此函数主要传入的是头两个参数(第一个是文件地址,第二个是打开方式),可以读取任何一个文本文件,然后用while将fopen函数读取到的每一行数据循环输出.   如:   ...

  4. respond.js

    Respond.js,低版本浏览器也能够支持媒体查询 在之前有篇文章也是介绍IE6,7,8支持媒体查询的(查看),Respond.js这个比css3-mediaqueries更为强大一些,它可以支持l ...

  5. 示例Oracle 10.2.0.1.0升级到10.2.0.4.0一例

    1.查看当前系统版本 [oracle@std Disk1]$ sqlplus '/as sysdba' SQL*Plus: Release - Production on Thu Jan :: Cop ...

  6. GIT与SVN的区别

    1.GIT是分布式的,SVN不是: 这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别.如果你能理解这个概念,那么你就已经上手一半了.需要做一点声明,GIT并不是目前第一个或唯 ...

  7. PowerDesigner的使用一

    首先我们需要创建一个测试数据库,为了简单,我们在这个数据库中只创建一个Student表和一个Major表.其表结构和关系如下所示. 看看怎样用PowerDesigner快速的创建出这个数据库吧. 1. ...

  8. 怎么在Centos7下添加win8.1的启动项

    首先找到启动文件. 在/boot/grub2目录下, 找到grub.cfg文件. 然后, sudo修改,  用gedit工具方便. 怎么修改? 打开文件, 找到有两个menuentry开头的部分, 然 ...

  9. C++和C代码互相调用是不可避免的

    C++ 编译器能够兼容C语言发编译方式 C++编译器会优先使用C++ 编译的方式 extern 关键字能强制让C++编译器进行C方式的编译 external “C” { //do C-style co ...

  10. Eclipse创建java web工程配置Tomacat和JDK 【转】

    在学习AJAX过程中,还用Intellij就有点老旧了,这是后装个Eclipse时,发现这个配置也很头疼,现在就叫你如何创建一个web工程,同时叫你配置Eclipse. 一.创建一个web工程 1.打 ...