Windows下VS2015编译caffe

来源:互联网 发布:明星淘宝店铺大全 编辑:程序博客网 时间:2024/04/30 19:06

目前我所见的Windows下编译caffe都是用VS2013。但既然现在BVLC的windows版本的caffe可以支持VS2015编译,那么就不勉强自己再去下个VS2013来特地编译caffe。

现在就开始讲如何在VS2015编译caffe的具体过程。

先链接官方的github:https://github.com/BVLC/caffe/tree/windows

一:准备工作

文档是这么说:

RequirementsVisual Studio 2013 or 2015CMake 3.4 or higher (Visual Studio and Ninja generators are supported)Python 2.7 Anaconda x64 (or Miniconda).CUDA 7.5 or 8.0 (optional) (use CUDA 8 if using Visual Studio 2015)cuDNN v5 (optional)We assume that cmake.exe and python.exe are on your PATH.

我的配置是VS2015+CMake3.7.1+Python2.7(x64,一定要64位,32位Python在build的时候会出现链接错误)+Anaconda4.2.13(x64)+CUDA8.0(x64)+cuDNN v5.1(x64)

接着cmake和python一定要添加到PATH里面。

二:编译

根据文档:你只需要在cmd下执行以下4句就可以编译成功。

C:\Projects> git clone https://github.com/BVLC/caffe.gitC:\Projects> cd caffeC:\Projects\caffe> git checkout windows:: Edit any of the options inside build_win.cmd to suit your needsC:\Projects\caffe> scripts\build_win.cmd

但是你懂得,国内的网络奇葩,用命令行下载github资源的速度实在堪忧。

所以一般都是选择下载zip压缩包,然后解压到目标路径的做法。

接着,进入caffe文件夹,在该目录打开cmd,执行

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

此时,它就会提醒你某些python的库没有配好,这些库是six、numpy、pyaml(文档说还有scipy、matplotlib和scikit-image,其实只要前面三个就可以通过配置了)。这些库可以用pip或者Anaconda安装

当你安装完库之后,再一次执行上面那句命令,它就会自动去下载一个依赖库。

好,还是同样的问题,国内的网络奇葩,用命令行下载这个github项目上的依赖库的速度实在堪忧,所以这时候就要“曲线救国”:

进入scripts文件夹,用编辑器打开download_prebuilt_dependencies.py。然后,你就发现了依赖库的的下载地址,这里我选的是v140版本的py27依赖库。

(懒人专用)地址链接:https://github.com/willyd/caffe-builder/releases/download/v1.0.1/libraries_v140_x64_py27_1.0.1.tar.bz2

下完依赖包,然后在caffe目录下,新建一个名为“build”的文件夹,然后再把我们下好的依赖包解压到build文件夹里面。

解压完后,发现它是个libraries文件夹,然后把\libraries\bin,\libraries\lib,\libraries\x64\vc14\bin三个的绝对路径添加到环境变量里面(添加完后记得重启~)。

重要的一步来了:

进入scripts文件夹,把build_win.cmd的后缀改成txt,然后用编辑器打开,115行-137行的内容都可以删除了(没错,以上步骤就是人工完成build准备工作的批处理。)

删除部分如下:

if NOT EXIST build mkdir buildpushd build:: Setup the environement for VS x64set batch_file=!VS%MSVC_VERSION%0COMNTOOLS!..\..\VC\vcvarsall.batcall "%batch_file%" amd64

,如果需要cuDNN库,那么在(没删之前的)143行-155行那一块。

:: Configure using cmake and using the caffe-builder dependencies:: Add -DCUDNN_ROOT=C:/Projects/caffe/cudnn-8.0-windows10-x64-v5.1/cuda ^:: below to use cuDNNcmake -G"!CMAKE_GENERATOR!" ^      -DBLAS=Open ^      -DCMAKE_BUILD_TYPE:STRING=%CMAKE_CONFIG% ^      -DBUILD_SHARED_LIBS:BOOL=%CMAKE_BUILD_SHARED_LIBS% ^      -DBUILD_python:BOOL=%BUILD_PYTHON% ^      -DBUILD_python_layer:BOOL=%BUILD_PYTHON_LAYER% ^      -DBUILD_matlab:BOOL=%BUILD_MATLAB% ^      -DCPU_ONLY:BOOL=%CPU_ONLY% ^      -DCUDNN_ROOT=C:\Projects\cuda ^       ::可以添加在这里,貌似是要反斜杠?      -C %cd%\libraries\caffe-builder-config.cmake ^      %~dp0\..

可以按提示添加。然后保存,把后缀修改回“cmd”。

最后一步:到build目录下打开命令窗口执行

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

然后,你就可以经过一个漫长的等待,等待cmake把vs2015的项目给build出来。

build完之后,在build的目录下就会出现一个caffe.sln工程文件。然后就可以用VS2015按需编译出Release程序。此时无需为VS工程配置环境。

以上。

python3.5也是可以的~再也不将就了~

可能行数什么的有改动.....就酱吧

1 1