学习深度学习已经很久了,但一直没有自己动手安装过caffe,因为工作需要,需要在linux系统中安装caffe,因此,在这里对安装过程进行记录。

caffe配置起来比tensorflow更麻烦一些,我主要是根据官网上的安装说明进行安装的,也参考了Youtube上的教程。我是在虚拟机中的Ubuntu18.4系统中进行安装的,安装的是CPU版本的caffe。

caffe官网上可以找到Ubuntu系统中caffe的安装说明因为我的Ubuntu版本是>=17.4的。

安装caffe前,先按照官网上的说明,把需要的环境安装好。如果需要安装GPU版本的caffe,请先把cuda安装好,如果需要python接口,也先把python环境安装好。安装python环境时,建议直接安装Anaconda,因为它包含了一些caffe需要的科学计算库。

  1. 因为我要安装CPU版本的caffe,所以,执行以下两条命令安装caffe预编译包和caffe的依赖

    • sudo apt install caffe-cpu
    • sudo apt build-dep caffe-cpu
  2. 然后编译caffe
    • 编译caffe可以通过make进行编译,也可以通过Cmake进行编译。我是通过make进行编译的。
    • 通过git clone https://github.com/BVLC/caffe.git命令下载caffe到本地,进入caffe目录,执行
    • cp Makefile.config.example Makefile.config
    • 然后修改Makefile.config,Makefile.config中都有注释,所以可以根据自己的需要进行修改。我安装的python版本是3.7的,下面是我自己的修改(仅供参考):
    • CPU_ONLY := 1
    • OPENCV_VERSION := 3
    • ANACONDA_HOME := $(HOME)/anaconda3
    • PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
    • $(ANACONDA_HOME)/include/python3.7m \
    • $(ANACONDA_HOME)/lib/python3.7/site-packages/numpy/core/include
    • PYTHON_LIBRARIES := boost_python3 python3.7m\
    • PYTHON_LIB := $(ANACONDA_HOME)/lib
    • WITH_PYTHON_LAYER := 1
    • 修改之后,一次执行以下三条命令:
    • make all
    • make test
    • make runtest
    • 如果make all执行后出现问题,解决之后重新make all之前需要先执行make clean清除之前编译的可执行文件及配置文件。
  3. 完成1和2后,caffe已经成功安装了。接下来安装python接口,执行以下命令:
    • make pycaffe
    • make pytest
    • 设置python的环境变量,在~/.bashrc中添加export PYTHON_PATH=/home/用户名/caffe/python:$PYTHON_PATH
    • 配置好python接口后,就可以在python中成功import caffe了。

通过上面的3步就可以成功安装好caffe了,在安装过程中可能会碰到一些问题,每个人碰到的问题可能也不太一样,但碰到的问题基本都能搜到解决方案,下面是我碰到的一些问题和解决方案:

  1. error1: /usr/bin/ld: cannot find -latlas
    solution: sudo apt-get install libatlas-base-dev
  2. error2: libpython3.7m.so.1.0: cannot open shared object file: No such file or directory
    solution: sudo apt-get install libpython3.7-dev
  3. error3: libhdf5_hl.so.100: cannot open shared object file: No such file or directory
    solution: 通过find命令可以查到在anaconda3/lib目录下有libhdf5_hl.so.100文件,因此在~/.bashrc中添加export LD_LIBRARY_PATH=/home/用户名/anaconda3/lib:$LD_LIBRARY_PATH
  4. error4: No module named google
    solution: conda install protobuf

在Linux系统中安装caffe的更多相关文章

  1. 在linux系统中安装VSCode(Visual Studio Code)

    在linux系统中安装VSCode(Visual Studio Code) 1.从官网下载压缩包(话说下载下来解压就直接可以运行了咧,都不需要make) 访问Visual Studio Code官网  ...

  2. 在 Linux 系统中安装Load Generator ,并在windows 调用方法

    在 Linux 系统中安装Load Generator ,并在windows 调用 由于公司需要测试系统的最大用户承受能力,所以需要学习使用loadrunner.在安装的时候碰到了不少问题,所以写下此 ...

  3. 详解在Linux系统中安装Tomcat

    本文以在CentOS 7.6中安装Tomcat8.5为例进行安装,其他系统和版本都是大同小异的. 安装JDK 安装Tomcat之前,需要先安装JDK,可以参看之前的文章详解在Linux系统中安装JDK ...

  4. 【Docker】在Linux系统中安装Docker虚拟机、启动停止重启查看Docker命令

    安装Docker 文章目录 安装Docker Docker虚拟机架构 在Linux系统中安装Docker虚拟机 管理Docker虚拟机 参考资料 Docker虚拟机架构 Docker创建的所有虚拟实例 ...

  5. linux系统中安装MySQL

    linux系统中安装MySQL 检查原来linux系统中安装的版本 rpm -qa | grep mysql 将其卸载掉 以 mysql-libs-5.1.71-1.el6.x86_64 版本为例 r ...

  6. Linux系统中安装软件方法总结

    Linux系统中安装软件方法总结 [1]Linux系统中安装软件的几种方式 [2] Linux配置yum源(本地源和网络源) [3] SuSE下zypper源配置 [4] SUSE zypper 本地 ...

  7. 在Windows、Mac和 Linux系统中安装Python与 PyCharm

    “工欲善其事,必先利其器”,本文介绍 Python环境的安装和 Python的集成开发环境(IDE) PyCharn的安装.   一.Python安装( Windows.Mac和 Linux) 当前主 ...

  8. 在 Linux 系统中安装Load Generator ,并在windows 调用

    原文地址:http://www.blogjava.net/qileilove/archive/2012/03/14/371861.html 由于公司需要测试系统的最大用户承受能力,所以需要学习使用lo ...

  9. 详解在Linux系统中安装JDK

    本文以在CentOS 7.6中安装JDK8为例进行安装,其他系统和版本都是大同小异的. 下载 进入Oracle官方网站的下载页面. 首先,接受许可协议,如下图: 然后,根据Linux系统的位数选择要下 ...

随机推荐

  1. Linux 出现 E325:ATTENTION swap

    当用vim打开一个文件的时候,系统提示:E325:ATTENTION Found a swap by the name ".a.swp" owned by:…… …… 这是由于在编 ...

  2. 1.1环境的准备(一)之Python解释器的安装

    目录: 1.Python-解释器的下载 2.Python-解释器的安装 3.Python-解释器的测试 4.Python的环境变量的配置 (一)Python解释器的安装: 1.官网:https://w ...

  3. Alpha冲刺报告(6/12)(麻瓜制造者)

    今日已完成 邓弘立: 看github上的开源库 确定了几个对UI改进有帮助的第三方库 符天愉: 部署了用户修改信息,修改头像的接口,并且完成两个接口的api文档,复习了PHP的无限分类来实现商品的发布 ...

  4. CentOS 6.5安装配置NFS服务器

    OS:centos 6.5 服务端:10.1.11.201 客户端:10.1.11.202 10.1.11.203 10.1.11.204 1.服务端的配置 安装必须的yum包: yum -y ins ...

  5. DNS主从复制及子域(三)

    主从DNS 主辅DNS服务器数据同步的过程,首先master DNS服务器每 次修改完成并重启服务后,将传送notify给所有的Slave DNS服务器. Slave DNS服务器将查询Master服 ...

  6. java基础设计模式1——单例模式

    概念:在应用这个模式时,单例对象的类必须保证只有一个实例存在.许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为. 单例模式从实现上可以分为饿汉式单例和懒汉式单例两种,前者天生 ...

  7. HDU 3072 Intelligence System(tarjan染色缩点+贪心+最小树形图)

    Intelligence System Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  8. keepalived 做全端口映射

    global_defs {    lvs_id BACKUP }   vrrp_sync_group VGM {     group {        VI_1     } }   vrrp_inst ...

  9. oracle 将字符串转化为数值型to_number()

    select to_number('22.222') from dual

  10. C# 取两个集合的交集\并集\差集

    交集:Intersect 并集:Union 差集:Except , , , , , }; , , , ,,, }; var C= A.Intersect(B); //交集 { 3, 4, 5, 6 } ...