【caffe】在windows平台中安装caffe(一):基础安装及简单测试
基础配置
本文中的配置:win10 + vs2015 + python2.5 + cmake3.12 + git2.15 + CUDA8.0 + cuDNN-8.0-5
在进行windows下的caffe安装前,一定要把以上的这些软件安装好,并加入系统路径中。其中python可安装2.5或者3.6版本,3.7版本的话会出现编译错误。
下载caffe-windows
在这里的github中下载我们所需的安装文件。
可以看到下面的安装说明中对系统软件有如下的要求:
Requirements:
Visual Studio 2013 or 2015
Technically only the VS C/C++ compiler is required (cl.exe)
CMake 3.4 or higher (Visual Studio and Ninja generators are supported)
Optional Dependencies:
Python for the pycaffe interface. Anaconda Python 2.7 or 3.5 x64 (or Miniconda)
Matlab for the matcaffe interface.
CUDA 7.5 or 8.0 (use CUDA 8 if using Visual Studio 2015)
cuDNN v5
其中前面是必需要的软件,后面是可选的。如果需要在python或matlab中使用caffe,就提前将对应的软件安装好,这里推荐使用anaconda来安装python,且一定要注意python的版本为2.7或3.5,3.6版本的python这里是没法编译通过的。如果有gpu的话,可以安装对应版本的cuda和cudnn。
在电脑中新建一个文件夹,用来存放下载的caffe文件。教程中的cmd命令如下所示:
C:\Projects> git clone https://github.com/BVLC/caffe.git
C:\Projects> cd caffe
C:\Projects\caffe> git checkout windows
:: Edit any of the options inside build_win.cmd to suit your needs
C:\Projects\caffe> scripts\build_win.cmd
注意最后一步是指运行build_win.cmd文件,在运行之前要修改build_win.cmd文件中的内容,主要是在大约70行左右的else内容中修改MSVC_VERSION版本、NINJA、PYTHON版本、CPU_ONLY等内容:
set MSVC_VERSION=14 // 选择vs15作为编译器,若是选择vs13的话,值改为12
set WITH_NINJA=0 // 表示不采用NINJA方式进行编译
set CPU_ONLY=1 // 表示不采用CPU方式进行编译
set PYTHON_VERSION=2 // 选择2.7版本的python,若是3.5版本的话,值改为3
此外在代码最后的cmake部分中,将指定的cuda路径加入:
-DCUDNN_ROOT=D:\ProgramFiles\NVIDIA GPU Computing Toolkit\CUDA\v8.0 ^
运行build_win.cmd
这是整个安装过程中最重要也是最容易出错的地方。在cmd命令行中输入
E:\Windows_caffe\caffe> scripts\build_win.cmd
系统就会自动进行运行和编译。这里记录一下我在编译过程中遇到的错误及解决方法,以供大家参考。
- 找不到C编译器
– The C compiler identification is unknown
–The CXX compiler identification is unknown
解决方法:参考这里的方法,我的问题是没有把VS中的rc.exe和rcdll.dll放到Windows Kits中,将这两个文件拷贝过去后问题就解决了。
只要没有出现错误,警告可以忽略,成功编译后显示:
编译caffe.sln
在上面成功运行后,可以看到caffe文件夹中生成了caffe.sln工程文件,在vs2015中打开工程文件,如下所示:
对整个解决方案进行编译
等待系统编译完成。编译完成后,可以看到在caffe路径下生成了caffe.exe文件,我的具体路径是:
E:\Windows_caffe\caffe\scripts\build\tools\Release\caffe.exe
将该路径加入到系统path中,在cmd的对应路径下输入caffe.exe -version,得到以下结果,说明caffe已经安装成功了。
E:\Windows_caffe\caffe\scripts\build\tools\Release>caffe.exe -version
caffe.exe version 1.0.0
在mnist数据集中进行测试
安装好了caffe后,就开始在mnist数据集中测试一下吧。
参考这里的mnist数据集下载教程,将下载好的test数据和train数据放在caffe路径下的data中
在caffe中的examples中,可以看到有很多例子,打开mnist文件夹:
E:\Windows_caffe\caffe\examples\mnist
分别修改lenet_solver.prototxt和lenet_train_test.prototxt文件,主要是修改文件中指定的test和train数据地址,将其改为自己电脑中实际的数据地址:
// lenet_train_test.prototxt文件中的train和test数据路径修改
name: "LeNet"
layer {
name: "mnist"
type: "Data"
top: "data"
top: "label"
include {
phase: TRAIN
}
transform_param {
scale: 0.00390625
}
data_param {
source: "E:/Windows_caffe/caffe/data/mnist/mnist_train_lmdb"
batch_size: 64
backend: LMDB
}
}
layer {
name: "mnist"
type: "Data"
top: "data"
top: "label"
include {
phase: TEST
}
transform_param {
scale: 0.00390625
}
data_param {
source: "E:/Windows_caffe/caffe/data/mnist/mnist_test_lmdb"
batch_size: 100
backend: LMDB
}
}
// lenet_solver.prototxt文件中指定net的路径修改
# The train/test net protocol buffer definition
net: "E:/Windows_caffe/caffe/examples/mnist/lenet_train_test.prototxt"
新建一个bat文件,内容如下:
E:\Windows_caffe\caffe\scripts\build\tools\Release\caffe.exe train --solver=E:\Windows_caffe\caffe\examples\mnist\lenet_solver.prototxt
Pause
直接运行,等待片刻训练结束就可以看到最终的结果: