本文适合初学者学习配置caffe的最简单方法。这是我在看了网上各种大神的方法后总结的最傻瓜式的配置方法了。

  本人也是在不断地配置caffe过程中受打击与成长@。@

第一步、配置caffe所需的依赖环境

  打开终端。

  sudo apt-get install git libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler

  sudo apt-get install --no-install-recommends libboost-all-dev libatlas-base-dev python-dev libgflags-dev libgoogle-glog-dev liblmdb-dev

第二步、升级gcc和g++至4.9

  这一步主要是给配置cuda做准备的,不过最好还是更新一下。

  sudo add-apt-repository ppa:ubuntu-toolchain-r/test

  sudo apt-get update

  sudo apt-get install gcc-4.9

  sudo apt-get install g++-4.9

  sudo su

  cd ../../usr/bin

  ln -s /usr/bin/g++-4.9 /usr/bin/g++ -f

  ln -s /usr/bin/gcc-4.9 /usr/bin/gcc -f

  之后,gcc与g++默认为4.9版本,可通过gcc --version查询。

第三步、编译caffe

  在github上下载caffe源码,网址https://github.com/BVLC/caffe

  下载后提取到主文件夹目录下。

  cd caffe

  cp Makefile.config.example Makefile.config

  打开Makefile.config修改CPU_ONLY=1,将前面的#号删除即可。

  保存并退出。

  make -j8    #(j后面为你所调用的CPU的线程数量)

  make test

  make runtest

  这时如果没报错,那奏成功啦。

第四步、安装anaconda并配置python接口

  anaconda官网上有免费下载地址和安装指令,灰常滴简单。https://www.continuum.io/downloads

  更改环境变量。

  sudo gedit /etc/profile

  export PATH=/home/irondroid/anaconda2/bin:$PATH

  export PYTHONPATH=/home/irondroid/caffe/python:$PYTHONPATH

  export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6

  source /etc/profile

  cd caffe

  make pycaffe

第五步、完成caffe安装

  重启电脑后输入python,如果出现anaconda路径那就说明anaconda安装成功啦。然后

  >>>import caffe

  如果出现protobuf之类的什么错误

  sudo chmod 777 -R anaconda2

  conda install protobuf

  这样既可

  然后再

  >>>import caffe

  >>>

  证明安装成功。

第六步、重新编译caffe

  如果遇到新的情况需要重新编译caffe,在make clean之后很可能出现编译失败的情况,这时多数情况是出现

  cannot find #include "caffe/proto/caffe.pb.h" #1761

  如果出现上述的error,需要以下的几步简单操作,我在github上面搜到的

  cd caffe

  protoc src/caffe/proto/caffe.proto --cpp_out=.

  mkdir include/caffe/proto

  mv src/caffe/proto/caffe.pb.h include/caffe/proto

  然后再make,大功告成。

第七步、配置cuda和cudnn

  我还没配成功,表看啦@*@

深度学习笔记------linux下配置安装caffe-cpu only模式的更多相关文章

  1. solr学习笔记-linux下配置solr(转)

    本文地址: http://zhoujianghai.iteye.com/blog/1540176 首先介绍一下solr: Apache Solr (读音: SOLer) 是一个开源.高性能.采用Jav ...

  2. 2020年Yann Lecun深度学习笔记(下)

    2020年Yann Lecun深度学习笔记(下)

  3. Java学习笔记——Linux下安装配置tomcat

    朝辞白帝彩云间,千里江陵一日还. 两岸猿声啼不住,轻舟已过万重山. ——早发白帝城 首先需要安装配置JDK,这里简单回顾下.Linux下用root身份在/opt/文件夹下创建jvm文件夹,然后使用ta ...

  4. Python学习笔记-Linux下安装Python

    Linux系统CentOS 1.安装依赖组件 yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel s ...

  5. MongoDB学习笔记—Linux下搭建MongoDB环境

    1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...

  6. Jmeter(十)Linux下配置安装Jmeter及执行测试任务

    一.安装JDK7.0版本 1.先卸载服务器自带的jdk软件包 # java -version #查看服务器是否安装过 # rpm -qa |grep gcj #查看服务器安装的jdk软件包信息 # y ...

  7. LINUX学习笔记——LINUX下EXP命令全库备份数据库文件

    LINUX下EXP命令全库备份数据库文件 1)建立备份目录,目录操作权限授权给Oracle用户 mkdir /backup  --创建backup文件夹 cd  /   --进入cd语句 ls  -l ...

  8. qt linux下配置安装

    linux版本: qt卸载: 1. 先找到qt的安装位置: 2.然后执行其下面的文件MaintenanceTool: 3. 然后会出现图形界面: 卸载完成. 安装qt 下载地址: https://ww ...

  9. Linux 程序设计学习笔记----Linux下文件类型和属性管理

    转载请注明出处:http://blog.csdn.net/suool/article/details/38318225 部分内容整理自网络,在此感谢各位大神. Linux文件类型和权限 数据表示 文件 ...

随机推荐

  1. ok6410 android driver(6)

    This is a short essay about the mistakes in compiling ok6410 android-2.3 source codes. If there is n ...

  2. ok6410 android driver(5)

    Test the android driver by JNI (Java Native Interface), In the third article, we know how to compile ...

  3. C#类的一些概念

    一.概念 1.类的作用是来模拟现实对象的,一个现实对象可以从两个地方进行描述:特征和行为. 2.类不是你凭空想象的,它只是描述现实对象具体的特征和行为的. 3我们写类只需要写我们所需要的. 4.类是提 ...

  4. jquery选择器(原创)

    jquery选择器大方向可以分为这样: 下面我们先来看看基本选择器总的CSS选择器: 1.标签选择器: $("element") 其中,参数element,表示待查找的HTML标记 ...

  5. 新的Visual C++代码优化器

    微软在 5 月 4 日发布了新的高级代码优化器,服务于 Visual C++ 的后端编译器.提高了代码性能,可以压缩代码体积,将编译器带入了一个新的境界. Visual C++ 的团队在博客上称,这将 ...

  6. GridView 使用方法总结 (一)

    GridView 使用方法总结 (一) 下载全部代码 http://www.sufeinet.com/thread-431-1-1.html   原文件作者是:csdn.net的清清月儿 她的主页  ...

  7. 关于迭代器中IEnumerable与IEnumerator的区别

    首先是IEnumerable与IEnumerator的定义: 1.IEnumerable接口允许使用foreach循环,包含GetEnumerator()方法,可以迭代集合中的项. 2.IEnumer ...

  8. cURL和HTTPie

    http://lingxiankong.github.io/blog/2014/08/19/curl-httpie/ 前两天在网上看到一个号称比cURL更牛逼的命令行工具HTTPie,提供命令行交互方 ...

  9. 关于spring配置文件properties的问题

    我遇到的问题是我将properties放在src下面的包中不能被spring扫描到,会报配置文件找不到的错误.但是如果放在src目录下就能够被spring扫描到,现在还不知道为什么这样,记个笔记,留到 ...

  10. Codeforces Round #346 (Div. 2)---E. New Reform--- 并查集(或连通图)

    Codeforces Round #346 (Div. 2)---E. New Reform E. New Reform time limit per test 1 second memory lim ...