本文参照了:Windows下VS2015编译caffe,零基础。
1、环境:Windows 7VS2015 CPU ONLY
2、准备工作,原文说 https://github.com/BVLC/caffe/tree/windows
Requirements
· Visual Studio 2013 or 2015
· CMake 3.4 or higher (Visual Studioand Ninja generators are supported)
· Python 2.7 Anaconda x64 (or Miniconda).
· CUDA 7.5 or 8.0 (optional) (use CUDA 8if using Visual Studio 2015)
· cuDNN v5 (optional)
· We assume that cmake.exe and python.exe are on your PATH
(1)已经安装VS2015
(2)已经安装CMake
(3)安装Python 2.7Anaconda x64,后来发现后面引用都是Miniconda,所以又安装了Miniconda2
(4)CUDA 无GPU 没有安装,cuDNN没有安装
3、其他软件安装,为了可以生成VS2015项目文件需要安装其他软件
(1) 安装pip (参见windows下面安装Python和pip终极教程)
(2) 安装six : pip install six
(3) 安装yaml: pip install pyyaml
(4) 安装numpy: pip install numpy
4、下载依赖库
原文是通过
python scripts\download_prebuilt_dependencies.py --msvc_version=v140
但是由于网络太慢,可以直接下载。地址链接:https://github.com/willyd/caffe-builder/releases/download/v1.0.1/libraries_v140_x64_py27_1.0.1.tar.bz2
下完依赖包,然后在caffe目录下,新建一个名为“build”的文件夹,然后再把我们下好的依赖包解压到build文件夹里面。解压后的文件在build\libraries下
5、编辑build_win.cmd(重要)
编译caffe所需的VS2015项目文件是通过cmd 批文件生成(build_win.cmd),在生成之前需要根据cpu only编辑一下。
build_win.cmd 是文本文件,可以直接用editplus或者word直接打开。
(1)51行
:: Change to 1 to build caffewithout CUDA support
if NOT DEFINED CPU_ONLY setCPU_ONLY=0
修改为CPU_ONLY=1
(第一次我没有修改这里,而是在vs项目文件中修改CPU_ONLY=1也可以)
(2)删除124-131(因为已经手工下载)
:: Download dependencies fromVS x64
echo INFO: Downloadingdependencies
"%PYTHON_EXE%""%~dp0\download_prebuilt_dependencies.py" --msvc_versionv%MSVC_VERSION%0
if ERRORLEVEL 1 (
echo ERROR: Downloading dependencies failed
exit /b 1
)
(3)134-137 执行prependpath.bat(此文件在下载的依赖库中libraries_v140_x64_py27_1.0.1.tar.bz2) 批处理文件,一定需要和你解压缩位置一致。
:: Add the dependencies tothe PATH
if EXIST"%cd%\libraries\prependpath.bat" (
call"%cd%\libraries\prependpath.bat"
)
6、生成VS2015项目文件
打开命令窗口执行
C:\Projects\caffe\build\build_win.cmd
生成时间有点长,等待cmake把vs2015的项目给build出来。
build完之后,在build的目录下就会出现一个caffe.sln工程文件。然后就可以用VS2015打开
7、打开修改Caffe.sln
项目配置属性->C/C++->预处理器->预处理器定义:
CPU_ONLY=1
8、编译
编译后的文件caffe-d.exe在tools\debug\ (或者release)
我编译用的DLL方式,所以需要将一些dll复制到caffe-d.exe所在目录,需要复制的是
..build\libraries\bin和..\build\libraries\x64\vc14\bin
如果不复制会提示找不到dll文件
没有研究是否可以用其他方式。
9、测试caffe-d.exe (参见用vs2013(cpu-only)调试caffe的mnist)
下载MNIST数据库http://pan.baidu.com/s/1o7YrhKe,解压缩后将mnist-test-leveldb与mnist-train-leveldb文件夹放到\examples\mnist下
修改lenet_train_test.prototxt文件:
//需要修改四处地方,如下红色部分标注
name: "LeNet"
layer {
name: "mnist"
type: "Data"
top: "data"
top: "label"
include {
phase: TRAIN
}
transform_param {
scale: 0.00390625
}
data_param {
source: "....省略/examples/mnist/mnist-train-leveldb" //写上你的绝对路径
batch_size: 64
backend: LEVELDB //格式改成LEVELDB
}
}
layer {
name: "mnist"
type: "Data"
top: "data"
top: "label"
include {
phase: TEST
}
transform_param {
scale: 0.00390625
}
data_param {
source: "....省略/examples/mnist/mnist-test-leveldb" //写上你的绝对路径
batch_size: 100
backend: LEVELDB //格式改成LEVELDB
}
}
修改lenet_solver.prototxt文件:
net: "....省略/examples/mnist/lenet_train_test.prototxt" //绝对路径 snapshot_prefix: "....省略/examples/mnist/lenet" //绝对路径 solver_mode: CPU //CPU模式
编写批处理文件run.bat内容如下:
D:\Projects\caffe\scripts\build\tools\Debug\caffe-d.exe train--solver=D:\Projects\caffe\examples\mnist\lenet_solver.prototxt
Pause
上面替换为你的文件绝对路径就可以
双击run.bat程序能够运行,并且之后也不会报错,那么恭喜你,Caffe-Windows配置成功了。