windows下安装caffe, win10+cuda9.0 + vs2015

windows上安装caffe的两种方法:

1.使用caffe官网windows分支,分支安装步骤进行安装,但是难度比较大,会遇到较多问题。下面的介绍的安装方法是这种方法

    https://github.com/BVLC/caffe/tree/windows

2.使用microsoft/caffe分支,据说比较简单,但没有尝试过

    https://github.com/microsoft/caffe


安装步骤:
1.下载git源码
git clone https://github.com/BVLC/caffe.git

2.切换到windows分支
cd caffe
git checkout windows


3.配置scripts\build_win.cmd
在开头添加如下几行

#禁用NINJA,Ninja是用于控制编译的工具,Ninja相对于Makefile更注重于编译速度
set WITH_NINJA=0
#禁用python接口
set BUILD_PYTHON=0
set BUILD_PYTHON_LAYER=0

4.编译
    scripts\build_win.cmd
    注意先看后面的问题
    



问题:下载依赖库太慢
解决方法:
手动下载,然后放到指定目录(build_win.cmd有提示保存路径)
下载路径:分析cmake文件:caffe\cmake\WindowsDownloadPrebuiltDependencies.cmake
https://github.com/willyd/caffe-builder/releases/download/v1.1.0/libraries_v140_x64_py27_1.1.0.tar.bz2



问题:boost版本
现象:

CMake Error at D:/Program Files/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1317 (file):

原因:
    由于用cuda9.0, 所以boost版本必须1.65.1及以上
    cmake 中FindBoost.cmake支持的boost版本低于1.66.0
解决方法:
    参考https://tharindumathew.com/2018/04/13/using-caffe-on-windows-with-cuda-9-0-for-vs-2013-2015-and-2017/
    使用boost1.65.1
    手动下载boost_1_65_1-msvc-14.0-64.exe,并安装,且在cmake选项中指定boost的路径,而不是依赖库中的boost路径
    修改scripts\build_win.cmd

    cmake -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% ^
      -DCOPY_PREREQUISITES:BOOL=1 ^
      -DINSTALL_PREREQUISITES:BOOL=1 ^
      -DUSE_NCCL:BOOL=!USE_NCCL! ^
      -DCUDA_ARCH_NAME:STRING=%CUDA_ARCH_NAME% ^
      -DBOOST_NO_BOOST_CMAKE=TRUE ^
      -DBOOST_ROOT=F:/open_source_lib/boost/boost_1_65_1 ^
      -DBOOST_LIBRARYDIR=F:/open_source_lib/boost/boost_1_65_1/lib64-msvc-14.0 ^
      "%~dp0\.."


      
      修改caffe\cmake\Dependencies.cmake

      # ---[ Boost
        find_package(Boost 1.65 REQUIRED COMPONENTS system thread filesystem)
        list(APPEND Caffe_INCLUDE_DIRS PUBLIC ${Boost_INCLUDE_DIRS})
        list(APPEND Caffe_DEFINITIONS PUBLIC -DBOOST_ALL_NO_LIB)
        list(APPEND Caffe_LINKER_LIBS PUBLIC ${Boost_LIBRARIES})


问题:GPU architecture
现象:

Microsoft.CppCommon.targets(171,5): error MSB6006: “cmd.exe”已退出,代码为 1。
    nvcc fatal   : Unsupported gpu architecture 'compute_90'


原因:本机安装的cuda9.0,显卡NVIDIA GeForce 940MX
解决方法:
    参考https://blog.csdn.net/Mynameisyournamewuyu/article/details/88380689
    显卡的算力可以通过英伟达网站查看:https://developer.nvidia.com/cuda-gpus#collapseOne
    本机Gefore 940M,采用Maxwell架构,算力5.0
    修改scripts\build_win.cmd

set CUDA_ARCH_NAME=Maxwell


    
    
参考:
https://github.com/BVLC/caffe/tree/windows
https://tharindumathew.com/2018/04/13/using-caffe-on-windows-with-cuda-9-0-for-vs-2013-2015-and-2017/
https://blog.csdn.net/raby_gyl/article/details/84643160

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值