淘先锋技术网

首页 1 2 3 4 5 6 7

转载自http://blog.csdn.net/zhj_matlab/article/details/69943869,在此基础上根据自己的安装过程做出修改,非常感谢原作者(尽量保持原文,蓝色字体为修改处)。

前言

在参照了网上的博客和官方给的说明后我终于配置好了我的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)。
2.cmake(https://cmake.org/download/
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  to use VS 
    if NOT DEFINED MSVC_VERSION set MSVC_VERSION= //用vs2013的把这里修改成12
    :: Change to  to use Ninja generator (builds much faster)
    if NOT DEFINED WITH_NINJA set WITH_NINJA=  //用vs2015的把这里修改成0
    :: Change to  to build caffe without CUDA support
    if NOT DEFINED CPU_ONLY set CPU_ONLY=   //只编译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  to use NCCL
    if NOT DEFINED USE_NCCL set USE_NCCL=
    :: Change to  to build a caffe.dll
    if NOT DEFINED CMAKE_BUILD_SHARED_LIBS set CMAKE_BUILD_SHARED_LIBS=
    :: Change to  if using python  (only  and  are supported)
    if NOT DEFINED PYTHON_VERSION set PYTHON_VERSION=//由于使用的是python3.5,需要将这里改为3
    :: Change these options for your needs.
    if NOT DEFINED BUILD_PYTHON set BUILD_PYTHON=
    if NOT DEFINED BUILD_PYTHON_LAYER set BUILD_PYTHON_LAYER=
    if NOT DEFINED BUILD_MATLAB set BUILD_MATLAB=  //需要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=
    :: Run lint
    if NOT DEFINED RUN_LINT set RUN_LINT=
    :: Build the install target
    if NOT DEFINED RUN_INSTALL set RUN_INSTALL=
)
 
  • 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:   
  }  
  data_param {  
    source: "....省略/examples/mnist/mnist-train-leveldb" //写上你的绝对路径 ,比如我的是E:\caffe\examples\mnist\mnist-train-leveldb
    batch_size:   
    backend: LEVELDB //格式改成LEVELDB  
  }  
}  
layer {  
  name: "mnist"  
  type: "Data"  
  top: "data"  
  top: "label"  
  include {  
    phase: TEST  
  }  
  transform_param {  
    scale:   
  }  
  data_param {  
    source: "....省略/examples/mnist/mnist-test-leveldb" //写上你的绝对路径  
    batch_size:   
    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配置成功了。