在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-cpusudo 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系统的位数选择要下 ...
随机推荐
- django中url 和 path 的区别
django中 url 和 path 都是配置路径,有什么不同? django.urls path django.conf.urls url path 与 url 是两个不同的模块,效果都是响应返回 ...
- C++类中的特殊成员函数-------复制构造函数
在C++中存在一个特殊函数,他就是复制构造函数,假如我们有类A,如果有A a;A b=a; 在这种情况下利用A类变量a来给同是A类变量的b来赋值,这个时候类会使用复制构造函数,如果我们不显式声明复 ...
- [BZOJ 3167][HEOI 2013]SAO
[BZOJ 3167][HEOI 2013]SAO 题意 对一个长度为 \(n\) 的排列作出 \(n-1\) 种限制, 每种限制形如 "\(x\) 在 \(y\) 之前" 或 & ...
- 【9】python关于os模块与os.path的相关操作
---恢复内容开始--- #__author:"吉*佳" #date: 2018/10/20 0020 #function: # os模块知识点 import os # 获取平台名 ...
- 软工实践——团队作业需求规格说明书——原型UI设计
登录界面 还包含忘记密码和注册的功能 注册界面 注册成功后会有弹窗提示,且一个手机号只能注册一次. 忘记密码界面 通过手机收到的验证码更改密码. 项目界面 登陆之后的页面就是这个项目界面.在拥有的界面 ...
- 测试dos攻击对openflow中flow_table溢出的影响
环境准备 环境 ubuntu16.04 mininet pox scapy 安装mininet sudo apt-get update sudo apt-get upgrade git clone g ...
- rest_framework源码分析
CBV&APIView '''原生django as_view方法''' class View(object): http_method_names = ['get', 'post', 'pu ...
- error occurred at recursive SQL level 1
ORA-00604: error occurred at recursive SQL level 1出现的错误:java.sql.SQLException: ORA-00604: error occu ...
- WorldWind源码剖析系列:二维点类Point2d和三维点类Point3d
PluginSDK中的点主要有二维和三维两种类型,分别用来描述平面和立体点.其类图如下. 这两个类比较简单.其字段成员主要用来描述点对象在各坐标轴上的分量. 属性Length用来返回二维和三维点的距离 ...
- PAT B1045 快速排序 (25 分)
著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边. 给定划分后的 N 个互不相同的正整数的排列,请问 ...