网上的caffe的安装教程繁杂而散乱,对初学者很不友好,尤其对该框架理解不深的童鞋。总的来说,caffe的安装不外乎几个固定的步骤,对每一步有了一定的理解,安装只是time-consuming的问题!关键是自己要理解每一步是做什么的,最起码要有思维惯性。对Ubuntu活Redhat等,都是大同小异。

【一】安装相关依赖包

1.编译工具等,如gcc(对版本有要求),git、python-pip等;

2.编译依赖包,如cuda/cudnn/hdf5等,具体参考官网;

ps:若有sudo权限,需要下载安装上述两种依赖,指令参考官网;

若服务器无sudo权限,一般来说上述依赖都会存在,可省略此步骤。但要清楚相关文件位置!(/usr/lib or /usr/local/lib .../lib64 and etc.)

【二】下载caffe

git clone https://github.com/bvlc/caffe.git

ps:有教程提示,更新依赖包,若安装失败可参考此原因,optional。

【三】修改配置文件Makefile.config

1.

cd caffe/

mv Makefile.config.example Makefile.config

vim Makefile.config

2.修改位置

是否使用cuda

blas类型与位置

是否使用python接口与python路径(最好使用anaconda2)

依赖包位置补充

【四】编译caffe

1.方法一【推荐】

make all [-j8/32]

make test [-j8/32]    #是否使用线程为optional

修改~/.bashrc文件,加入依赖文件路径

make runtest

【五】配置python接口

make pycaffe

修改~/.bashrc文件,加入~/caffe/python路径

ps:验证配置成功: python ---import caffe 不报错即成功

【六】问题及解决

1.caffe 调用多块GPU:https://blog.csdn.net/swiftfake/article/details/79916812

2.anaconda3+caffe 安装:https://www.cnblogs.com/TiBAi/p/6848307.html

https://www.jianshu.com/p/5afdb561ce94

https://www.cnblogs.com/zyw567/p/9915032.html

boost的编译与安装:https://blog.csdn.net/bodybo/article/details/79962814

protobuf应该选用py3版本(定要pip安装):http://www.bubuko.com/infodetail-1558430.html

依赖重复的情况(如opencv/protobuf):https://blog.csdn.net/yidi0979/article/details/86605624

3.py-faster-rcnn:https://blog.csdn.net/hongbin_xu/article/details/76100132

https://www.jianshu.com/p/281ce441eef2

【七】References

1.centos深度学习 caffe安装和python接口的配置

2.Caffe | Installation

3.后续Caffe学习系列(10):命令行解析

【caffe】caffe在linux环境下的安装与编译的更多相关文章

  1. 全世界最详细的图形化VMware中linux环境下oracle安装(二)【weber出品必属精品】

    <ORACLE 10.2.05版本的升级补丁安装> 首先我们解压 $ unzip p8202632_10205_LINUX.zip 解压后我们会发现多出了个文件夹,他是:Disk1,进入D ...

  2. 全世界最详细的图形化VMware中linux环境下oracle安装(一)【weber出品必属精品】

    安装流程:前期准备工作--->安装ORACLE软件--->安装升级补丁--->安装odbc创建数据库--->安装监听器--->安装EM <前期准备工作> 安装 ...

  3. Linux 环境下 Lua 安装(转)

    系统环境:CentOS-6.2-x86_64. Lua 是嵌入式脚本语言,应用场景很广泛. 引自官网:Lua is used in many products and projects around ...

  4. 基础--Redis在Linux环境下的安装

    1. 安装redis服务 1.1 检查安装依赖程序 yum install gcc-c++yum install -y tclyum install wget 1.1.1 下载redis安装包 (或者 ...

  5. LINUX环境下SVN安装与配置(利用钩子同步开发环境与测试环境)

    安装采用YUM一键安装: 1.环境Centos 6.6 2.安装svnyum -y install subversion 3.配置 建立版本库目录mkdir /www/svndata svnserve ...

  6. Linux环境下mysql安装并配置远程访问

    环境:centOS 1.下载mysql安装文件 [root@localhost ~]# wget http://dev.mysql.com/get/mysql-community-release-el ...

  7. linux环境下redis安装

    本篇文章主要说明的是Linux环境下redis数据库的安装: 首先进入目标目录: 下载安装包,执行命令: wget http://download.redis.io/releases/redis-4. ...

  8. Linux环境下Oracle安装参数设置

    前面讲了虚拟机的设置和OracleLinux的安装,接下来我们来说下Oracle安装前的准备工作.1.系统信息查看系统信息查看首先服务器ip:192.168.8.120服务器系统:Oracle Lin ...

  9. Redis在linux环境下的安装

    下载Redis安装包 wget http://download.redis.io/releases/redis-3.2.9.tar.gz 解压Redis安装包 tar -zxvf redis-3.2. ...

随机推荐

  1. OpenCV尝试

    我们来尝试,使用OpenCV来读入本地的一张图片,并使用库函数将其水平翻转.垂直翻转以及边缘提取,后将结果文件存入本地. 工具:VS2017  OpenCV4.0.1 怎么配置opencv/报错怎么办 ...

  2. Java使用PipedStream管道流通信

    多线程使用PipedStream 通讯 Java 提供了四个相关的管道流,我们可以使用其在多线程进行数据传递,其分别是 类名 作用 备注 PipedInputStream 字节管道输入流 字节流 Pi ...

  3. git在本地向远程仓库创建分支

    在本地的仓库种,如果想给upstream创建新分支并关联,需要执行 git push -u/--set-upstream 远程仓库名 远程分支名

  4. 使用pyton在本地指定目录模拟服务器

    1.cd 到指定目录 2.运行命令 python 3之前 python -m SimpleHTTPServer & python 3+ python -m http.server & ...

  5. django 时区和系统(ubuntu)时区修改

    django时区默认使用UTC,中国人使用CST东八区. settings.py改为上海时区 #settings.py TIME_ZONE = 'Asia/Shanghai' # True:使用UTC ...

  6. go语言打造p2p网络

    传送门: 柏链项目学院 就像1000个人眼中有1000个哈姆雷特一样,每个人眼中的区块链也是不一样的!作为技术人员眼中的区块链就是将各种技术的融合,包括密码学,p2p网络,分布式共识机制以及博弈论等. ...

  7. Linux云计算运维-MySQL

    0.建初心 优秀DBA的素质 1.人品,不做某些事情2.严谨,运行命令前深思熟虑,三思而后行,即使是依据select3.细心,严格按照步骤一步一步执行,减少出错4.心态,遇到灾难,首先要稳住,不慌张, ...

  8. 关于H5从PC端切换到移动端,屏幕显示内容由横向转为竖向的研究!

    1.前言: 在项目中,我们常会遇见在手机端需要横屏观看的效果,而在pc端则默认切换到竖屏的样式. 或者是,UI提供的图是一个长图,但是在移动端我们需要让这个图在手机横屏时显示. 以上两个都需要我们实行 ...

  9. mybatis 一对多查询

    需求:一条数据对应多张表 ad_share_friends  主表 ad_share_image 图片表 建立实体 adShareFriends  和  adShareImage *注意在adShar ...

  10. Python之路【第十七篇】:Django【进阶篇 】(转自银角大王博客)

    Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行 ...