在参照了网上的博客和官方给的说明后我终于配置好了我的caffe,比较坑爹的是我一开始是直接按照博客给的方法配置的,总是出问题。待我静下心来去看官方的文档发现文档是有调整的,所以按部就班地按别人的思路是配置不好的。另外由于它配置的命令build_win.cmd命令是有可能会修改的,如果大家发现我说的和他给的build_win.cmd不一样,还需要多加留心。
1.下载所需要的文件
我所用的caffe地址,里面的官方说明。
必须需要的环境是:
根据官方的说明,需要VS2015或2013(Ninja 也可以)。
cmake需要3.4版本以上的。
可供选择的是:
Anaconda Python2.7 or 3.5 x64(or Miniconda)
MATLAB的接口
CUDA8.0
cuDNN v5
我的环境是
1.VS2015
2.cmake 3.10.0-rc5
3.miniconda3 Python 3.5 x64 (官方下载只能安装3.6的,可以通过https://conda.io/docs/user-guide/tasks/manage-python.html的说明,创建一个python3.5的包,下面详细介绍)
4.CUDA8.0
5.cuDNN v5.1
一定要明白自己的配置环境,因为官方给的配置环境不一定和你的一样,我就进行了一定的修改,待会我会写出来修改的地方,如果你的环境和我不一样需要留心。
1.caffe代码按照官方教程下载windows分支下面的就可以了(https://github.com/BVLC/caffe/tree/windows)。
3.miniconda3 python3.6 x64(https://conda.io/miniconda.html) (注意:官方只能下载python 3.6版本的,在安装完python3.6版本的miniconda之后,注意在安装的时候将目录添加到环境变量中,然后命令行中执行:
conda create -n py35 python=3.5 anaconda,执行之后,会下载并安装python3.5下面的库,成功之后;
命令行中执行 activate py35,即可激活python3.5,但是当退出之后仍然是默认的3.6,这个时候命令行执行:
conda info --envs,可以看到有2个python环境:一个是root,一个是py35,并且可以看到py35这个包的安装路径。
然后在windows的环境变量中,把py35这个环境的路径和这个路径下的scripts路径添加到path路径中,
并在系统变量的path路径中删除掉原来的miniconda3/bin和miniconda3/scripts路径,这个再进入命令行中输入python,
默认就是python3.5了。
4.下载相应的caffe依赖包,地址https://github.com/willyd/caffe-builder/releases/ (注意我这里下载的是:libraries_v140_x64_py35_1.1.0.tar.bz2 ,这个文件非常难下载,我下载了很多次都没下载下来,如果有需要的,请看百度云链接: https://pan.baidu.com/s/1bp4hJiv 密码: zwn8)
仅GPU:
5.CUDA8.0 (https://developer.nvidia.com/cuda-downloads)
6.cuDNN v5.1
初次下载会让你注册,注册完就可以下载了。 (推荐在百度云上找这个文件,目前官网一直无法下载,2017.11.17号)
我下的是5.1的。
根据要求,下载完成后,需要将cuDNN v5.1解压后的cuda文件拷贝至NVIDIA GPU Computing Toolkit\CUDA\v8.0文件夹下,比如我的是
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0。
2.配置caffe:
官方说明:
1.首先打开cmd命令行,切换到文件存储的路径。然后执行Git等一系列命令,按照说明的来,先执行前三句,比如我的是:
2.接着根据自己的情况修改caffe\scripts\bulid_win.cmd命令,使用文件编辑器或者notepad++打开这个文件。
2.1修改里面的26-29行。
if !PYTHON_VERSION! EQU 3 (
set CONDA_ROOT=C:\Users\cuiyongming\AppData\Local\conda\conda\envs\py35 修改为py35这个环境所在的路径
)
- 1
- 2
- 3
- 4
2.2修改里面的68-90行
) else (
:: Change the settings here to match your setup
:: Change MSVC_VERSION to 12 to use VS 2013
if NOT DEFINED MSVC_VERSION set MSVC_VERSION=14 //用vs2013的把这里修改成12
:: Change to 1 to use Ninja generator (builds much faster)
if NOT DEFINED WITH_NINJA set WITH_NINJA=1 //用vs2015的把这里修改成0
:: Change to 1 to build caffe without CUDA support
if NOT DEFINED CPU_ONLY set CPU_ONLY=0 //只编译CPU的把这里修改成1
:: Change to Debug to build Debug. This is only relevant for the Ninja generator the Visual Studio generator will generate both Debug and Release configs
if NOT DEFINED CMAKE_CONFIG set CMAKE_CONFIG=Release
:: Set to 1 to use NCCL
if NOT DEFINED USE_NCCL set USE_NCCL=0
:: Change to 1 to build a caffe.dll
if NOT DEFINED CMAKE_BUILD_SHARED_LIBS set CMAKE_BUILD_SHARED_LIBS=0
:: Change to 3 if using python 3.5 (only 2.7 and 3.5 are supported)
if NOT DEFINED PYTHON_VERSION set PYTHON_VERSION=2 //由于使用的是python3.5,需要将这里改为3
:: Change these options for your needs.
if NOT DEFINED BUILD_PYTHON set BUILD_PYTHON=1
if NOT DEFINED BUILD_PYTHON_LAYER set BUILD_PYTHON_LAYER=1
if NOT DEFINED BUILD_MATLAB set BUILD_MATLAB=0 //需要MATLAB接口的把这里设置为1
:: If python is on your path leave this alone
if NOT DEFINED PYTHON_EXE set PYTHON_EXE=python
:: Run the tests
if NOT DEFINED RUN_TESTS set RUN_TESTS=0
:: Run lint
if NOT DEFINED RUN_LINT set RUN_LINT=0
:: Build the install target
if NOT DEFINED RUN_INSTALL set RUN_INSTALL=0
)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
2.3 在命令行下运行最后一句配置命令。
3.当你执行最后一句命令的时候,它会下载一个依赖包,并且自动在C盘用户文件夹上生成.caffe文件夹,下载的依赖包就放到里面。如你所见,下载速度贼慢,而且有可能出错,所以推荐自己下载然后放在指定位置。把你下载的caffe依赖包压缩文件放到C盘用户文件夹下生成.caffe文件夹,如我的位置是在C:\Users\John.caffe\dependencies\download(这个位置可以在运行这个命令的界面中找到,将之前下载的文件放在这个位置,再重新运行此命令即可)。
建议先运行build_win.cmd命令,如果速度太慢再把它关闭,这样就不需要自己创建对应的文件夹,只需把压缩文件拷贝就行。
4.再运行一次build_win.cmd命令,这次不会有什么问题,等待一小段时间后cmake就把vs2015的项目给创建出来了。
5.在caffe\scripts\build文件夹下就生成了caffe.sln,用vs2015将其打开,并在release x64或者Debug x64生成ALL_BUILD文件即可
最后没有报错,那么配置就告一段落了。
3.测试caffe.exe
参见Windows下VS2015编译caffe(CPU ONLY)
下载MNIST数据库https://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" //写上你的绝对路径 ,比如我的是E:\caffe\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
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
修改lenet_solver.prototxt文件:
net: "....省略/examples/mnist/lenet_train_test.prototxt" //绝对路径
snapshot_prefix: "....省略/examples/mnist/lenet" //绝对路径
solver_mode: CPU //CPU模式如果的配置了GPU也可以选择GPU
- 1
- 2
- 3
- 4
- 5
编写批处理文件run.bat内容如下:
E:\caffe\scripts\build\tools\Release\caffe.exe train--solver=E:\caffe\examples\mnist\lenet_solver.prototxt
//exe处写自己的绝对路径
Pause
- 1
- 2
- 3
上面替换为你的文件绝对路径就可以
双击run.bat程序能够运行,并且之后也不会报错,那么恭喜你,Caffe-Windows配置成功了。