您的位置:首页 > Web前端

Windows下VS2015编译caffe(CPU ONLY)

2017-04-24 23:20 681 查看
http://blog.csdn.net/light169/article/details/53993893

本文参照了: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行

[html]
view plain
copy





:: 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(因为已经手工下载)

[html]
view plain
copy





:: 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) 批处理文件,一定需要和你解压缩位置一致。

[html]
view plain
copy





:: 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文件:

[html]
view plain
copy





//需要修改四处地方,如下红色部分标注  
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文件:

[html] view plain copy 



net: "....省略/examples/mnist/lenet_train_test.prototxt"  //绝对路径  
   
snapshot_prefix: "....省略/examples/mnist/lenet" //绝对路径  
   
solver_mode: CPU //CPU模式  

 
 
编写批处理文件run.bat内容如下:

[html]
view plain
copy





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配置成功了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: