在Windows7/10上快速搭建深度学习框架Caffe开发环境
之前在 http://blog.csdn.net/fengbingchun/article/details/50987353 中介绍过在Windows7上搭建Caffe开发环境的操作步骤,那时caffe的项目是和其它依赖项目分开的,每次换新的PC机时再次重新配置搭建还是很不方便,而且caffe的版本较老,本次经过多次修改调整,将所有的项目除OpenCV和Boost外都放在一个工程里了,而且caffe更新到了最新,现在从GitHub上直接clone下来后直接进行编译即可,非常方便,对初步接触Caffe的来说,应该是有些帮助的,下面就说下进行快速搭建的操作步骤:
1. OpenCV:
从 https://github.com/opencv/opencv/releases 下载2.4.13,解压缩到D:\soft\OpenCV2.4.13,将动态库路径D:\soft\OpenCV2.4.13\opencv\build\x64\vc12\bin添加到系统环境变量中,如下图红框所示:
2. Boost:
从 http://www.boost.org/users/history/version_1_58_0.html 下载1.58.0,双击进行安装,安装到D:\ProgramFiles\local目录下,将D:\ProgramFiles\local\boost_1_58_0\lib64-msvc-12.0加入到系统环境变量中,如上图红框所示;
3. Caffe_Test:
从 https://github.com/fengbingchun/Caffe_Test clone或DownLoad Caffe_Test工程(Note:master分支,old分支是之前旧版本caffe)到E:\GitCode目录下,clone后的结果如下图所示:
双击打开prj/x86_x64_vc12/Caffe目录下的Caffe.sln,结果如下图所示:
此工程下一共包含了19个项目:
(1)、依赖项目包括gflags、hdf5、leveldb、glog、openblas、protobuf、lmdb、snappy,这些项目都包含对相应依赖库源代码进行编译生成相应的库;
(2)、ThirdPartyLibrary_Test项目,用于测试生成各个依赖库的正确性及各个依赖库的使用;
(3)、libcaffe项目,用于生成caffe静态库;
(4)、Caffe_Test项目,用于测试caffe库的正确性及对Caffe应用的测试code;
(5)、libcaffe_gpu项目,用于生成基于GPU的caffe静态库,默认CUDA版本是8.0;
(6)、Caffe_GPU_Test项目,用于测试caffe_gpu库的正确性及对Caffe应用的测试code,此项目的code和Caffe_Test的code是同一套。
各目录说明:
(1)、demo目录存放测试code,ThirdParthLibrary_Test子目录下存放各个依赖库的简单测试代码,为了对各个依赖库的使用有更一步的了解,后续会加入更多的测试代码,此目录文件如下图所示:
Caffe_Test子目录存放对Caffe使用的测试代码,funset.cpp中存放对Caffe中一些重要头文件使用的测试代码,mnist.cpp中存放通过对MNIST数据集进行训练产生的model,以用来进行手写数字识别的测试代码,后续会加入更多的Caffe应用,如通过cifar10数据集,对物体进行分类等测试代码,此目录文件如下图所示:
(2)、prj/x86_x64_vc12目录存放各个项目配置文件,目前默认是vs2013,此目录文件如下图所示:
(3)、src目录存放caffe及除opencv和boost外各个依赖库的源代码,此目录文件如下图所示:
关于各种开源库版本详细信息(version.txt)如下所示:
1. caffe: branch: windows
commit: 88ddc95;
date: 2017.03.29;
url: https://github.com/BVLC/caffe
2. boost: binary library, boost_1_58_0-msvc-12.0-64.exe
version: 1.58.0
date: 2015.04.17
url:
http://www.boost.org/
http://www.boost.org/users/history/version_1_58_0.html
https://sourceforge.net/projects/boost/files/boost-binaries/1.58.0/
3. protobuf: protobuf-cpp-3.2.0.zip
commit: 593e917
version: v3.2
date: 2017.01.28
url: https://github.com/google/protobuf/releases
4. glog:
commit: da816ea
version: master
date: 2017.03.07
url: https://github.com/google/glog
5. gflags:
commit: f8a0efe
version: 2.2.0
date: 2016.11.26
url: https://github.com/gflags/gflags/releases
6. leveldb:
commit: 915d663
version: 1.18
date: 2015.07.29
url: https://github.com/bureau14/leveldb
7. lmdb:
commit: 14cff07
version: 0.9.19
date: 2016.12.29
url: https://github.com/LMDB/lmdb/releases
8. hdf5: hdf5-1.10.0-patch1.zip
version: 1.10.0
url: https://support.hdfgroup.org/HDF5/release/obtainsrc.html
9. snappy:
commit: 2d99bd1
version: 1.1.4
date: 2017.01.27
url: https://github.com/google/snappy/releases
10. openblas:
commit: 85636ff
version: 0.2.19
date: 2016.09.01
url: https://github.com/xianyi/OpenBLAS/releases
11. opencv:
commit: 59975db
version: 2.4.13
date: 2016.05.16
url: https://github.com/opencv/opencv/releases
(4)、test_data目录下存放各个库测试代码需要的测试数据。
接下来就可以编译Caffe_Test工程了,先依次编译依赖库再编译caffe。
此工程只配置了x64平台,没有配置win32平台。
如果机子上正确安装配置了CUDA8.0,则可以编译libcaffe_gpu库。
按照以上操作,只需三步,就可以快速完成在Windows上对Caffe的搭建,整个搭建时间应该不会超过30分钟,是不是非常方便。
GitHub:https://github.com/fengbingchun/Caffe_Test