在Linux系统中安装caffe
学习深度学习已经很久了,但一直没有自己动手安装过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需要的科学计算库。
- 因为我要安装CPU版本的caffe,所以,执行以下两条命令安装caffe预编译包和caffe的依赖
sudo apt install caffe-cpu
sudo apt build-dep caffe-cpu
然后编译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清除之前编译的可执行文件及配置文件。
- 完成1和2后,caffe已经成功安装了。接下来安装python接口,执行以下命令:
- make pycaffe
- make pytest
- 设置python的环境变量,在~/.bashrc中添加export PYTHON_PATH=/home/用户名/caffe/python:$PYTHON_PATH
- 配置好python接口后,就可以在python中成功import caffe了。
通过上面的3步就可以成功安装好caffe了,在安装过程中可能会碰到一些问题,每个人碰到的问题可能也不太一样,但碰到的问题基本都能搜到解决方案,下面是我碰到的一些问题和解决方案:
- error1: /usr/bin/ld: cannot find -latlas
solution: sudo apt-get install libatlas-base-dev - error2: libpython3.7m.so.1.0: cannot open shared object file: No such file or directory
solution: sudo apt-get install libpython3.7-dev - 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 - error4: No module named google
solution: conda install protobuf
在Linux系统中安装caffe的更多相关文章
- 在linux系统中安装VSCode(Visual Studio Code)
在linux系统中安装VSCode(Visual Studio Code) 1.从官网下载压缩包(话说下载下来解压就直接可以运行了咧,都不需要make) 访问Visual Studio Code官网 ...
- 在 Linux 系统中安装Load Generator ,并在windows 调用方法
在 Linux 系统中安装Load Generator ,并在windows 调用 由于公司需要测试系统的最大用户承受能力,所以需要学习使用loadrunner.在安装的时候碰到了不少问题,所以写下此 ...
- 详解在Linux系统中安装Tomcat
本文以在CentOS 7.6中安装Tomcat8.5为例进行安装,其他系统和版本都是大同小异的. 安装JDK 安装Tomcat之前,需要先安装JDK,可以参看之前的文章详解在Linux系统中安装JDK ...
- 【Docker】在Linux系统中安装Docker虚拟机、启动停止重启查看Docker命令
安装Docker 文章目录 安装Docker Docker虚拟机架构 在Linux系统中安装Docker虚拟机 管理Docker虚拟机 参考资料 Docker虚拟机架构 Docker创建的所有虚拟实例 ...
- linux系统中安装MySQL
linux系统中安装MySQL 检查原来linux系统中安装的版本 rpm -qa | grep mysql 将其卸载掉 以 mysql-libs-5.1.71-1.el6.x86_64 版本为例 r ...
- Linux系统中安装软件方法总结
Linux系统中安装软件方法总结 [1]Linux系统中安装软件的几种方式 [2] Linux配置yum源(本地源和网络源) [3] SuSE下zypper源配置 [4] SUSE zypper 本地 ...
- 在Windows、Mac和 Linux系统中安装Python与 PyCharm
“工欲善其事,必先利其器”,本文介绍 Python环境的安装和 Python的集成开发环境(IDE) PyCharn的安装. 一.Python安装( Windows.Mac和 Linux) 当前主 ...
- 在 Linux 系统中安装Load Generator ,并在windows 调用
原文地址:http://www.blogjava.net/qileilove/archive/2012/03/14/371861.html 由于公司需要测试系统的最大用户承受能力,所以需要学习使用lo ...
- 详解在Linux系统中安装JDK
本文以在CentOS 7.6中安装JDK8为例进行安装,其他系统和版本都是大同小异的. 下载 进入Oracle官方网站的下载页面. 首先,接受许可协议,如下图: 然后,根据Linux系统的位数选择要下 ...
随机推荐
- 【Alpha 冲刺】 6/12
今日任务总结 人员 今日原定任务 完成情况 遇到问题 贡献值 胡武成 建立数据库 未完成 表结构文档已设计好,服务器mysql刚配置完成,但是,SpringMVC框架还没有熟络,不清楚如何使用该框架去 ...
- Windows Server 2012上安装.NET Framework 3.5
引用:https://jingyan.baidu.com/article/14bd256e26b714bb6d26128a.html 装不成功后网上搜到很多相同的问题,都尝试过没解决到 用PowerS ...
- [BUG]自己的bug自己解,记一次在变量使用过程引发的bug
[实现的功能要求]在短信编辑界面,将所有的emoji表情全部插入到编辑区域,其中表情共有5页,每遍历完一页时需要自动翻页重新获取表情并插入,在第5页中只有10个表情 下面先看看这段代码,大家能否看出有 ...
- Mysql表创建外键报错
数据库表A: CREATE TABLE task_desc_tab ( id INT(11) PRIMARY KEY NOT NULL COMMENT '自增主键' AUTO_INCREMENT, t ...
- Linux chmod +755和chmod +777 各是什么意思呢?
你可以在linux终端先输入ls -al,可以看到如: -rwx-r--r-- (一共10个参数)第一个跟参数跟chmod无关,先不管.2-4参数:属于user5-7参数:属于group8-10参数: ...
- 服务器 三 MQTT服务器手机开发
目的: 实现手机4G网络控制单片机,需要搭建服务器,手机或者各种控制端远程控制. 本教程 1 MQTT服务器硬件模块 2 MQTT服务器电脑搭建 2.1自己搭建 2.2租阿里云服务器 2 MQTT服 ...
- MetaMask/Website
https://github.com/MetaMask/Website 将这个包下载下来之后运行npm install出现下面的问题 gyp: No Xcode or CLT version dete ...
- create_buffer_tree example
假设这样一种情况: 绕线完修完timing 后,designer 修改了netlist,给了eco.v,其中改动了 clock tree 的一个分支,导致这个分支上的buffer 都没有了,如下图 一 ...
- JavaScript中的箭头函数
1.定义 箭头函数相当于匿名函数,并且简化了函数定义.箭头函数有两种格式,一种像上面的,只包含一个表达式,连{ ... }和return都省略掉了.还有一种可以包含多条语句,这时候就不能省略{ ... ...
- CAN总线优势
CAN总线优势 RS-485基于R线构建的分布式控制系统而言, 基于CAN总线的分布式控制系统在以下方面具有明显的优越性: 首先,CAN控制器工作于多主方式,网络中 的各节点都可根据总线访问优先权(取 ...