本文适合初学者学习配置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. error LNK1281: 无法生成 SAFESEH 映像 LNK2026 模块对于 SAFESEH 映像是不安全的 VS2015 /win10

    平台 VS2015 /win10 错误 LNK1281 无法生成 SAFESEH 映像. 错误 LNK2026 模块对于 SAFESEH 映像是不安全的. 将 release 改成 debug

  2. 重构第28 天 重命名bool方法(Rename boolean method)

    详解:本文中的”为布尔方法命名”是指如果一个方法带有大量的bool 参数时,可以根据bool 参数的数量,提取出若干个独立的方法来简化参数. 理解: 我们现在要说的重构并不是普通字面意义上的重构,它有 ...

  3. 【循序渐进学Python】2. Python中的序列——列表和元组

    序列概览 在Python中有六种内建的序列:列表.元组.字符串.Unicode字符串.buffer对象和xrange对象.在这里暂时只讨论列表和元组.列表和元组的主要区别在于:列表可以修改,元组(不可 ...

  4. AC自动机---病毒侵袭持续中

    HDU 3065 题目网址: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=110773#problem/C Description 小t ...

  5. ahjesus解决win下U盘无法写入的问题

    可能是由于不同品牌的U盘出厂时磁盘分区和格式化方式不同而引起的兼容性问题.解决方案如下 启动cmd.输入diskpart,启动DISKPART工具 在DISKPART窗口中输入以下命令: >li ...

  6. 【OpenCV & CUDA】OpenCV和Cuda结合编程

    一.利用OpenCV中提供的GPU模块 目前,OpenCV中已提供了许多GPU函数,直接使用OpenCV提供的GPU模块,可以完成大部分图像处理的加速操作. 基本使用方法,请参考:http://www ...

  7. C++ 面向对象的三个特点--继承与封装(二)

    顺着上一篇的内容,我们继续来了解继承的基本知识. 派生类的构造函数和析构函数 派生类继承了基类的成员,但是不能继承基类的构造函数和析构函数,首先,我们了解构造函数和析构函数的执行顺序是当我们创建一个派 ...

  8. 养只爬虫当宠物(Node.js爬虫爬取58同城租房信息)

    先上一个源代码吧. https://github.com/answershuto/Rental 欢迎指导交流. 效果图 搭建Node.js环境及启动服务 安装node以及npm,用express模块启 ...

  9. .NET下的并行开发(案例代码)

    以下主要是通过一个报表处理程序来说明并行开发的方式.对于数据冲突和共享,可以通过对象数组解决.设计到并行的核心代码已用红色标出.在并行程序的处理上,需要把原来串行的子公司变成一个一个类的对象,让所有的 ...

  10. ruby语言是什么东西

    1.简介    Ruby是日本的Yukihiro Matsumoto写的,简单易学的面向对象的脚本语言,像perl一样,有丰富的文字处理.系统管理等丰富 功能,但是ruby要简单,容易理解和扩充.跟p ...