您的位置:首页 > Web前端

win10系统下在vs2015中配置Caffe的详细过程

2017-08-18 17:06 381 查看
这两天历经磨难饱受摧残,终于在window10环境下的VS2015中将Caffe给配置成功了,下面来和大家分享一下这个过程成容易出错的几个关键点的处理方法以及个相关资源的配置路径,对于新手来说应该是非常有用的。

一、下载相关的资源

     首先建立一个文件夹Caffe,然后执行下面的步骤:

     1.下载并安装VS2015的64位professional版

     2.下载Cmake-3.7.2-win64-x64(下载地址为:https://cmake.org/download/),并将其bin的地址添加到环境变量里边

     3.下载python_2.7_win64版安装包(下载地址为:https://www.continuum.io/downloads),并将其安装在文件夹Caffe之中

     4.下载Anaconda2-4.3.1-Windows-x86_64版本(下载地址为:https://www.continuum.io/downloads),并将其安装在文件夹Caffe中

     5.下载CUDA8.0(x64)(下载地址为:https://developer.nvidia.com/cuda-downloads),并将其安装在文件夹Caffe中

     6.下载cuDNN v5.1(x64)的安装包(下载地址为:https://developer.nvidia.com/cudnn ),并将其安装在文件夹Caffe中

二、clone代码并使用cmake编译项目

    以上的各种资源下载并安装完成之后,就可以在Caffe文件夹内写一个批处理文件run.bat执行代码的    clone以及项目的编译操作。run.bat中的代码为:

    git clone https://github.com/BVLC/caffe.git
    cd caffe

    git checkout windows

    scripts\build_win.cmd

    运行批处理文件到最后一步的时候会出错,编译不成功。接下来的操作就非常关键了

    1.用notepad++打开caffe\scripts中的build_win.cmd文件修改里面的配置(修改之前记得先备份哦!),这个文件的作用是对cmake进行一些配置,然后运行cmake来构建整个caffe工程:

     (1)MSVC_VERSION 根据你VS项目版本来,14对应VS2015的项目,12对应VS2013的项目;

     (2)只使用CPU的将 CPU_ONLY 改为1 ;

     (3)PYTHON_VERSION 根据你本机版本来,我是2.7所以是2,3.5就是3 ;

     (4)CUDA_ARCH_NAME 是CUDA的架构名称,可选值有:Kepler,Fermi,Maxwell,Pascal,Manual,All,Auto,Auto是自动检测最优值;

     (5)WITH_NINJA 要设为0,你不会用到ninja编译器来进行编译 ;

     (6)改完后去scripts\build中把 CMakeCache.txt 文件删掉。因为这里面记录的是用Ninja来编译的,不删除的话不能用VS来编译;

      然后再执行原来的批处理文件run.bat,记住此时需要把批处理文件的第一行git clone https://github.com/BVLC/caffe.git删掉,下载已经完成了,没必要再执行下载命令.
    2.此时仍然会出错,一个名为“libraries_v140_x64_py27_1.1.0.tar.bz2”的依赖包无法下载成功,这个需要手动翻墙下载(下载地址为:https://github.com/willyd/caffe-builder/releases),下载完成之后将其解压,将解压后的libraries文件直接复制到C盘下的文件夹libraries_v140_x64_py27_1.1.0之中。这个我已经下载好了,可以直接给大家,链接为:http://pan.baidu.com/s/1c2IQ6M。

    3.接下来需要手动修改cmake文件夹下的WindowsDownloadPrebuiltDependencies.cmake文件,将下载和解压libraries_v140_x64_py27_1.1.0.tar.bz2的代码删除,否则我们手动下载的文件就会被覆盖掉,编译的时候依然会出错。需要删除的代码为: 

if(_download_file)
message(STATUS "Downloading prebuilt dependencies to ${_download_path}")
file(DOWNLOAD "${DEPENDENCIES_URL}"
"${_download_path}"
EXPECTED_HASH SHA1=${DEPENDENCIES_SHA}
SHOW_PROGRESS
)
if(EXISTS ${CAFFE_DEPENDENCIES_DIR}/libraries)
file(REMOVE_RECURSE ${CAFFE_DEPENDENCIES_DIR}/libraries)
endif()
endif()
if(EXISTS ${_download_path} AND NOT EXISTS ${CAFFE_DEPENDENCIES_DIR}/libraries)
message(STATUS "Extracting dependencies")
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xjf ${_download_path}
WORKING_DIRECTORY ${CAFFE_DEPENDENCIES_DIR}
)
endif()


    4.再一次执行步骤1中修改后的批处理文件run.bat文件,经过一段时间的等待,Caffe.sln工程就会编译好了。

    5.编译完成之后,右键CMakeTargets底下的All_BUILD,点击生成,然后等待编译成功,到此Caffe+window环境的配置完成了。

在这个过程中我主要参考了博客http://blog.csdn.net/AkashaicRecorder/article/details/71016942和博客http://www.dongcoder.com/detail-475822.html的相关内容,经历了一些周折最后终于配置完成了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: