Tensorflow和Caffe是机器学习初学者常用的2种深度学习框架。相对于Tensorflow有简单的python pip一键安装包,Caffe的安装更考验开发者的计算机编译水平,需要自己下载源码编译。尽管caffe的配置教程网上很多,但是网上caffe的各个分支版本也很多,所以初学者在编译时总是会碰到各种奇怪的问题。本文会针对初学者常用的Windows* + Intel CPU的平台上安装配置Caffe做一个较为完整的总结。
Caffe的各个版本简介
官方版本:伯克利BVLC(Berkeley Vision And Learning Center) 版
微软的Windows*版本
Intel Caffe优化版
Intel clCaffe 核显OpenCL优化版
BVLC caffe的编译
安装编译所需要的软件
- Visual Studio 2015
- Anaconda + Python 64位版本 (Caffe官网推荐用Python 2.7或者3.5版本,如果用其他版本,编译时候会麻烦一些,我系统上用的是Python3.6版本) https://www.anaconda.com
- cmake-3.9.3-win64-x64 https://cmake.org/
- Git-2.14.2-64-bit https://git-scm.com/
配置Windows*的环境变量
为了避免等会CMAKE生成编译脚本的时候找不到一些依赖关系,有的没的路径都加一些,包括Cmake, Git, Ananconda以及Python的路径。

Checkout 官网Caffe的代码
运行以下代码,用git从官网caffe上下载Windows*分支。
git clone https://github.com/BVLC/caffe.git |
cd caffe |
git checkout windows |
修改caffe源码代码里的一些编译参数
- 修改scripts\build_win.cmd
因为我们没有定义APPVEYOR,所以直接拉到else(大约69行)以后。
先从APPVEYOR部分把这部分内容拷贝过来
if !PYTHON_VERSION! EQU 2 ( |
set CONDA_ROOT=C:\Miniconda-x64 |
) |
:: Set python 3.5 with conda as the default python |
if !PYTHON_VERSION! EQU 3 ( |
set CONDA_ROOT=C:\Miniconda35-x64 |
) |
set PATH=!CONDA_ROOT!;!CONDA_ROOT!\Scripts;!CONDA_ROOT!\Library\bin;!PATH! |
然后根据Windows*环境设置下图中红色方框的部分
1. 编译器是VS2015,设置MSVC_VERSION=14
2. 不需要NINJA来编译,设置WITH_NINJA=0
3. 没有NVDIA GPU,设置CPU_ONLY=1
4. Python版本为3.X,设置PYTHON_VERSION=3
5. 需要pyCaffe支持,设置BUILD_PYTHON=1

- 如果Python版本不是2.7或3.5,修改
cmake\WindowsDownloadPrebuiltDependencies.cmake
Caffe在编译时会自动从网上下载一个依赖库caffe-builder,这个cmake文件负责根据你系统里的VS版本和python版本自动下载预编译好的caffe-builder包。目前网上只有预编译好的VS2013/2015配python2.7/3.5的caffe-builder,如果是python3.6,编译时会报找不到VS2015配python3.6的caffe-builder包。解决方法有2个办法,要么用python3.5的包,要么自己编译caffe-builder。
对于复用Python3.5的包,可以按照下图中所示,复制DEPENDENCIES_URL_1900_35和DEPENDENCIES_SHA_1900_35 2行,同时修改35为36。

如果希望使用自己编译VS2015加python3.6的caffe-builder,除了要加入上段说到的2行修改外,还需要注释掉下图中WindowsDownloadPrebuiltDependencies.cmake的下图所示的绿色部分,这部分代码是负责从网上下载依赖包并且解压缩到本地目录的。同时要把caffe-builder编译出的libraries目录拷贝到C:\Users\[user name]\.caffe\dependencies这个目录下。(具体caffe-builder的编译,将在本文第3节详细介绍)

开始编译
在caffe的目录下输入scripts\build_win.cmd

开始编译,一切顺利的话,大约10分钟后就编译好了

验证一下编译的结果
接下来运行一下caffe项目自带的examples里的00-classification的代码来验证一下caffe是否能够正常运行
打开anaconda的命令行,进入caffe的examples目录,运行jupyter notebook


在打开的notebook中打开caffe自带的例子 00-calssification.ipynb

这是用一个训练好的Caffe模型来预测动物图片的例子,图片默认是使用Caffe项目里examples\image\cat.jpg。
一路Shift+Enter运行下去,看到第8步predicted输出
predicted class is: 281 |
第9步输出
output label: n0 tabby, tabby cat |
预测结果是猫,说明caffe已经正确编译而且能运行了。

大功告成,开始你的Caffe学习之旅吧
Caffe依赖库Caffe Builder的编译
这一章主要介绍怎么编译Caffe-Builder项目
安装编译所需要的软件
编译软件的需求同2.1部分
- Visual Studio 2015
- Anaconda + Python 64位版本 https://www.leyou2.net/ www.anaconda.com
- cmake-3.9.3-win64-x64 https://www.yongshiyule178.com cmake.org/
- Git-2.14.2-64-bit https://www.baidu620.com git-scm.com/
配置Windows*的环境变量
环境变量的配置同2.2部分
下载Caffe-Builder源码
Caffe-Builder的开源项目位于 https://github.com/willyd/caffe-builder
目前最新的release为1.1版,可以从这里下载最新的release 1.1.0版的源码
https://github.com/willyd/caffe-builder/ www.leyouzaixian2.com releases
修改caffe-builder源码代码里的一些编译参数

其次是这个Release 1.1.0发布有点时间了,caffe-builder很多依赖的开源项目都搬家或者版本更新了,需要做相应的修改。
1) 修改packages\protobuf\ www.huayiyul.com CmakeLists.txt
将图中所示部分protobuf包的Hash值从原来的
14a532ad5def317bfca41dace
修改为
39d6a4fa549c0cce164aa3064b1492dc


编译
进到caffe-builder-1.1.0目录下,运行build_v140_x64.cmd开始编译

屏幕输出

最终编译生产的caffe依赖库文件放在build\libraries目录下,你可以将这个libraries目录拷贝到caffe所需要的目录下。
小结
本篇文章主要介绍了官方BVLC Caffe在Windows*下的编译设置过程。BVLC Caffe提供CPU和Nvidia GPU版本的实现,但是在实际学习工作中,初级开发者的电脑平台通常不会装备昂贵的Nvidia显卡,而CPU版本的Caffe因为执行效率不高,只能用来做一些小型的”玩具”实验项目。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/10933.html