win10+vs2015+CUDA8.0+CAFFE

主要参考了两篇博客

http://blog.csdn.net/zhj_matlab/article/details/69943869http://blog.csdn.net/cym1990/article/details/78563349,部分地方甚至是copy。但按照两篇博客安装、测试都出现了一些问题,本文根据问题的解决,写出了一些注意事项。

非常感谢原作者。

前言

写给小白,也为了给自己一个备忘。

在参照了网上的好几个博客和官方给的说明后,我终于配置好了我的caffe。我安装配置caffe的基础环境是win10 pro+VS2015 enterprise。

和博客http://blog.csdn.net/cym1990/article/details/78563349里一样,由于对caffe不熟悉,直接按照网络上博客给的方法配置,或多或少要出些问题。因为官方的文档、发布的版本,依赖的程序多多少有些变化、调整。

本文力求还原安装过程中遇到的一些问题,给需要的朋友一些经验,少走弯路。

准备工作:下载所需要的文件

注意:我都是下载64bit

1)VS2015或者VS2013。我用的是VS2015企业版,社区版应该没问题。VS2013按照caffe官方文档,也应该没问题。

2)CMAKE。需要3.4版本以上,我用的是3.9.6

    下载地址:https://cmake.org/files/v3.9/cmake-3.9.6-win64-x64.msi

3)DirectXSDK。就是Software Development,没有这个CUDA的SAMPLES有十几个编译通不过。

      下载地址:KitDXSDK_Jun10.exe

https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=6812

4)CUDA8.0。我安装的是cuda_8.0.61_win10。原来安装的是最新的9.0,不清楚可不可以,按照别人的博客安装后,出了些问题,怀疑是CUDA版本问题,就卸了重新安装了这个版本。但我现在完全不确定9.0是否就不可以。我成功配置后通过CUDA中的例子程序,DEVICEQUERY,查看发现CUDA DriverVersion=9.0, CUDA Runtime Version=8.0.说明我还是没有卸干净原先安装的CUDA9.0.

      下载地址:https://developer.nvidia.com/cuda-80-ga2-download-archive

5)cuDNN v5.1 for 8.0。可参考http://blog.csdn.net/cym1990/article/details/78563349下载,如果不清楚怎么下载的话,主要是需要注册NVADIA账号才能下载。根据要求,下载完成后,需要将cuDNNv5.1解压后的cuda文件拷贝至NVIDIA GPUComputing Toolkit\CUDA\ v8.0文件夹下,我的是C:\ProgramFiles\NVIDIA GPU Computing Toolkit\CUDA\v8.0。

      下载地址:

https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v5.1/prod_20161129/8.0/cudnn-8.0-windows10-x64-v5.1-zip

6)Anaconda。目前官方的版本是Anaconda 3.6和2.7,就是说内置了 Python2.7 or 3.6。 喜欢高版本的朋友注意了,3.6caffei不支持。所以你要么在历史档案中下Anaconda3-4.2.0-Windows-x86_64.exe,要么参照http://blog.csdn.net/cym1990/article/details/78563349下个3.6版本的,然后重新安装Anaconda的环境为 PYTHON3.5。当然2.7版本的就可以了。

       下载地址:https://repo.continuum.io/archive/Anaconda3-4.2.0-Windows-x86_64.exe

7)matlab。不确定什么版本才行,我用的是2017b。

8)caffe。我是用Git-2.15.1.2-64-bit.exe按照命令行方式down的,命令行语句就是官网的指示,也可直接DOWN 个ZIP文件caffe-master.zip。

      下载地址:Git

https://github.com/git-for-windows/git/releases/download/v2.16.0.windows.2/Git-2.16.0.2-64-bit.exe

      下载地址:caffe

https://github.com/BVLC/caffe/tree/windows,点击clone or download。

2.配置caffe:

官方说明: 

C:\Projects>git clone https://github.com/BVLC/caffe.git

C:\Projects>cdcaffe

C:\Projects\caffe>git checkout windows

:: Edit any of the options inside build_win.cmd tosuit your needs

C:\Projects\caffe>scripts\build_win.cmd

说明:

1)前三条语句其实是下载你需要的CAFFE,C:\Projects就是你打算存放CAFFE文件的地方,在WINDOWS系统命令行中运行前三条语句,你就得到你想要的安装文件。我的理解是就是第一部分第8条下的那个ZIP文件,但是没直接下ZIP,是压缩前的文件,而且放在C:\Projects\caffe目录下了。

2)修改scripts\build_win.cmd

      第四条语句C:\Projects\caffe>scripts\build_win.cmd是要用命令行生成Windows下的解决方案。之前的文字::Edit any of the options inside build_win.cmd to suit your needs告诉了你需要修改该文件。

      该文件其实是个TXT文件,在目录C:\Projects\caffe\scripts\下。使用记事本或者notepad++打开这个文件。 

·       line 29:设置CONDA_ROOT=C:\ProgramFiles\Anaconda3。路径是我安装Anaconda3的目录。

    :: Set python 3.5 with conda as the defaultpython

    if !PYTHON_VERSION! EQU 3 (

        set CONDA_ROOT=C:\Program Files\Anaconda3

    )

·       Line 69~100:设置一些符号常量,相信不用解释含义。

) else (

    :: Change the settings here to match yoursetup

    :: Change MSVC_VERSION to 12 to use VS 2013

    if NOT DEFINED MSVC_VERSION set MSVC_VERSION=14

    :: Change to 1 to use Ninja generator(builds much faster)

    if NOT DEFINED WITH_NINJA set WITH_NINJA=0

    :: Change to 1 to build caffe without CUDAsupport

    if NOT DEFINED CPU_ONLY set CPU_ONLY=0

    :: Change to generate CUDA code for one ofthe following GPU architectures

    :: [Fermi Kepler  Maxwell  Pascal All]

    if NOT DEFINED CUDA_ARCH_NAME setCUDA_ARCH_NAME=Auto

    :: Change to Debug to build Debug. This isonly relevant for the Ninja generator the Visual Studio generator will generateboth Debug and Release configs

    if NOT DEFINED CMAKE_CONFIG setCMAKE_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 setCMAKE_BUILD_SHARED_LIBS=0

    :: Change to 3 if using python 3.5 (only2.7 and 3.5 are supported)

    if NOT DEFINED PYTHON_VERSION set PYTHON_VERSION=3

    :: Change these options for your needs.

    if NOT DEFINED BUILD_PYTHON setBUILD_PYTHON=1

    if NOT DEFINED BUILD_PYTHON_LAYER setBUILD_PYTHON_LAYER=1

    if NOT DEFINED BUILD_MATLAB setBUILD_MATLAB=1

    :: Ifpython is on your path leave this alone

    if NOT DEFINED PYTHON_EXE setPYTHON_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 setRUN_INSTALL=0

)

      修改后记得保存。

3)在命令行下运行最后一句配置命令。 C:\Projects\caffe>scripts\build_win.cmd

      当你执行最后一句命令的时候,它会下载一个依赖包,并且自动在C盘用户文件夹上生成C:\Users\Administrator\.caffe\dependencies\download文件夹,下载的依赖包libraries_v140_x64_py35_1.1.0.tar.bz2就放到里面。Administrator是我的用户名。

      如你所见,下载速度贼慢,而且有可能出错,所以推荐自己下载然后放在指定位置。建议先运行build_win.cmd命令,如果速度太慢再把它关闭,这样就不需要自己创建对应的文件夹,只需把压缩文件拷贝就行。 

下载地址:

https://github.com/willyd/caffe-builder/releases/download/v1.0.1/libraries_v140_x64_py35_1.0.1.tar.bz2
4)再运行一次build_win.cmd命令,这次不会有什么问题,等待一小段时间后cmake就把vs2015的项目给创建出来了。 
5)在caffe\scripts\build文件夹下就生成了caffe.sln,用vs2015将其打开,并在release x64或者Debug x64 BUILD这个解决方案。 
最后没有报错,那么配置就告一段落了。

3.测试caffe.exe

参见Windows下VS2015编译caffe(CPU ONLY) 
(1)下载MNIST数据库https://pan.baidu.com/s/1o7YrhKe,解压缩后将mnist-test-leveldb与mnist-train-leveldb文件夹放到\examples\mnist下。注意

 (2)修改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:"C:/Caffe/caffe/examples/mnist/mnist-train-leveldb"

   batch_size: 64

   backend:LEVELDB

 }

}

layer {

 name: "mnist"

 type: "Data"

 top: "data"

 top: "label"

 include {

   phase: TEST

 }

 transform_param {

   scale: 0.00390625

 }

 data_param {

   source:"C:/Caffe/caffe/examples/mnist/mnist-test-leveldb"

   batch_size: 100

   backend:LEVELDB

 }

}

注意:修改4个红色字体文字,相信你看得懂,就是刚才拷贝的两个文件夹的绝对路径;以及两处格式

3)修改lenet_solver.prototxt文件:

# The train/test net protocolbuffer definition

net: "C:/Caffe/caffe/examples/mnist/lenet_train_test.prototxt"

# test_iter specifies how manyforward passes the test should carry out.

# In the case of MNIST, we havetest batch size 100 and 100 test iterations,

# covering the full 10,000 testingimages.

test_iter: 100

# Carry out testing every 500training iterations.

test_interval: 500

# The base learning rate, momentumand the weight decay of the network.

base_lr: 0.01

momentum: 0.9

weight_decay: 0.0005

# The learning rate policy

lr_policy: "inv"

gamma: 0.0001

power: 0.75

# Display every 100 iterations

display: 100

# The maximum number of iterations

max_iter: 10000

# snapshot intermediate results

snapshot: 5000

snapshot_prefix: "C:/Caffe/caffe/examples/mnist/lenet"

# solver mode: CPU or GPU

solver_mode: GPU

注意:修改两处个红色字体文字,相信你看得懂,就是修改文件或者文件夹的绝对路径;如果你的硬件不支持GPU编程,最后一句修改为CPU。

4)在minist文件夹下编写批处理文件run.bat,内容如下:

C:\Caffe\caffe\scripts\build\tools\Release\caffe.exe train --solver=C:\Caffe\caffe\examples\mnist\lenet_solver.prototxt

 

Pause

说明:第一行,就是执行你编译得到的caffe.exe,所以需要换成你的caffe.exe的绝对路径。

注意:

·       斜杠必须使用backslash:\。使用Slash:/会出错。

·       train 和—solver之间有一空格,不能省略。无空格会出错。

5双击run.bat程序能够运行,并且之后也不会报错,那么恭喜你,Caffe-Windows配置成功了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值