在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系统的位数选择要下 ...
随机推荐
- Coursera-AndrewNg(吴恩达)机器学习笔记——第四周
神经网络 1.神经网络发展的动力:在逻辑回归解决复杂的分类问题时,我们使用属性的一些组合来构造新的属性(x12,x1x2,x22...),这样就会造成属性的数目n过多,带来了大量的运算,甚至造成过拟合 ...
- tp5 migrate数据库迁移工具
tp5相对与tp3.2有很大的不同 migrate是其中一点,通过migrate程序员可以在php代码中创建数据库修改回滚等操作 首先下载migrate扩展,命令行到当前项目目录下执行 compose ...
- 一次gcc编译失败分析
1. 场景: 在使用gcc编译时,编译器报错:xxx:'xxx'未定义的引用 2. 排查过程: 首先,我很自然的想到是不是自己使用了未定义的函数或者将函数名称写错了,在检查了一边过后,我发现自己使 ...
- 阿里八八Alpha阶段Scrum(7/12)
今日进度 叶文滔: Andriod Studio新版打开旧版项目存在兼容性问题,仍在寻求解决办法 王国超: 今天还是在调bug,真机运行总是闪退 俞鋆: 正在学习api制作和相关的文档编写,研究了一些 ...
- APP性能测试,网易Emmagee工具
APK地址:https://github.com/NetEase/Emmagee/releases/download/V1.2.1/Emmagee-1.2.1.apk 开源代码github地址:htt ...
- excel工作表密码破解方法
在日常工作中,大家有时会遇到过这样的情况:使用Excel编制的报表.表格.程序等,在单元格中设置了公式.函数等,为了防止其他人修改您的设置或者防止您自己无意中修改,您可能会使用Excel的工作表保护功 ...
- Node.js实战(四)之调试Node.js
当项目逐渐扩大以后,功能越来越多,这时有的时候需要增加或者修改,同时优化某些功能,就有可能出问题了.针对于线上Linux环境我们应该如何调试项目呢? 别怕,Node.js已经为我们考虑到了. 通过 n ...
- Jquery回到顶部功能
问题描述: 在网页中,我们经常会由于网页内容过长,而需要在浏览网页时有一个快速回到网页顶部的功能,在浏览网页内容离顶部有一段距离时,出现快速回到网页顶部的工具,从而能使我们的网页更人性化. 问题的产生 ...
- android强制关闭软键盘代码
InputMethodManager imm = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE); imm.t ...
- Python中 __init__的通俗解释?附修饰器contextmanager的理解
作者:匿名用户链接:https://www.zhihu.com/question/46973549/answer/103805810来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...