caffe在windows端配置的全部流程

本文详细介绍了在Windows环境下配置Caffe的步骤,包括安装NVIDIA显卡驱动与CUDA、cuDNN,以及编译Caffe等过程,并列举了一些常见的编译错误及其解决方案。

caffe在windows下配置

outlines:

配置流程分为:
(1)nvidia显卡驱动与CUDA安装
(2)cudnn安装(对于部分caffe工程需要)
(3)caffe-windows编译
(4)常见编译错误

nvidia显卡驱动与CUDA安装

(1)显卡驱动安装
驱动精灵自动安装最新版本驱动,或者选择去nvidia官网下载对应版本的驱动。这两种方式都不影响到以下安装。
(2)CUDA安装
cuda的版本号需要与nvidia驱动程序的版本相对应,比较稳定的一个按本系列是:cuda_8.0.61+cudnn5.0(或5.1)
显卡gtx1060,gtx1080,gtx1080ti和TITAN XP亲测有效,都支持cuda_8.0.61+cudnn5.0(或5.1)。
a.下载cuda_8.0.61_win10.exe——官网,如果太慢可以去我的网盘下载。
b.安装CUDA,选择,安装cuda8.0_sample;并且将cuda安装到默认C盘路径(这里不要嫌占用C盘空间,使用NVIDIA的默认路径,对后面的很多CUDA工程都是有帮助的)
安装CUDA顺利完成后,进入cmd中,输入命令 nvcc -V**(有一个空格,大写V)**,后出现如下图就代表CUDA安装并且环境变量也配置成功。
这里写图片描述

若没有则很有可能是CUDA的环境变量没有配置,按照如下方式配置:
打开:我的电脑->右键属性->高级系统设置->高级->环境变量
查看系统变量中是否存在CUDA_PATH和CUDA_PATH_v8.0,如下:
这里写图片描述
若存在,看path环境变量中是否导入了bin,如下:
这里写图片描述

若不存在CUDA_PATH和CUDA_PATH_v8.0,则分别新建变量,变量名就是CUDA_PATH和CUDA_PATH_v8.0,变量值分别是:注意:变量值如下的前提是安装CUDA是默认安装路径,若不是则变量值变更为:CUDA\v8.0的路径

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0

若path中不存在CUDA\bin路径,则在path中添加新的变量值

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\libnvvp

cudnn安装

cudnn* 版本都可以按照以下安装流程进行,下载地址https://pan.baidu.com/s/1cwJeBPIEGLEacuDqv4g_6w
(1)解压cudnn安装包
(2)拷贝:
将.h文件拷贝到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include
将.lib拷贝到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64
将.dll拷贝到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin

至此cudnn安装完毕

caffe-windows编译

(1)下载caffe-windows:
地址 https://github.com/BOBrown/caffe
(2)假设文件目录为~,进入~/windows目录,这个目录有可以打开vs项目的.sln文件,但是我们先不要打开它。先进行编译配置。复制~/windows目录下的CommonSettings.props.example到CommonSettings.props。原因是:~/windows目录下存在CommonSettings.props文件才可以进行编译。
(3)修改CommonSettings.props文件:
打开CommonSettings.props文件(注意不是CommonSettings.props.example文件),修改cuda版本和cudnn支持:

        <UseCuDNN>true</UseCuDNN>
        <CudaVersion>8.0</CudaVersion>

如果使用python-windows的话,则修改(分别是支持python和python在windows中的地址):

<PythonSupport>true</PythonSupport>
<PropertyGroup Condition="'$(PythonSupport)'=='true'">
        <PythonDir>C:\Python27</PythonDir>  
        <LibraryPath>$(PythonDir)\libs;$(LibraryPath)</LibraryPath>
        <IncludePath>$(PythonDir)\include;$(IncludePath)</IncludePath>
</PropertyGroup>

(4)进入Caffe.sln
a.打开Caffe.sln->右键libcaffe工程->选择设置为启动项目->编译这个工程。
b编译的过程中会看到系统初始化配置NugetPackages包,这个包与~是同级目录。
c.若编译成功,则caffe在windows中配置完成,可以进行训练与预测的任务,并且可以调用caffe的相关库。
若出现编译错误,请参考常见编译错误章节

常见编译错误

大多数caffe的编译错误都是由于NugetPackages中包版本与声明不匹配的问题。

错误1:未能从程序集 \NugetPackages… \OpenCv.2.4.10

解决方式:
(1)右键libcaffe->管理Nuget程序包->更新->将opencv更新为2.4.11版本
(2)右键libcaffe->卸载项目->将libcaffe.vcxproj中的OpenCv.2.4.10都替换成OpenCv.2.4.11->重新加载项目

错误2:未能从程序集 \NugetPackages… \gflags

解决方式:
(1)右键libcaffe->管理Nuget程序包->更新->更新gflags版本
(2)右键libcaffe->卸载项目->检查libcaffe.vcxproj中声明的gflags版本与Nuget程序包中的版本是否一致,不一致则替换成Nuget程序包中的版本->重新加载项目

其他未能从NugetPackages中找到某个包的问题也可以参照1,2解决

错误3:关于boost与regrex正则表达式的问题

解决方式:
(1)进入到libcaffe\include\layers\detection_output_layer.hpp中,注释掉所有与regex有关的include

//#include <boost/regex.hpp>

(2)进入到libcaffe\src\layers\detection_output_layer.cpp中,注释掉所有与regex有关的代码

// boost::regex exp("\"(null|true|false|-?[0-9]+(\\.[0-9]+)?)\"");  by Holoobo
错误4:报错expected an identifier in caffe.pb.h

解决方式:
修改bbox_util.cu,注释掉所有thrust语句(include和代码)

//#include "thrust/functional.h"
//#include "thrust/sort.h"
// thrust::sort_by_key(&confidences[0], &confidences[0] + num_remain, &idx[0], by Holobo
//   thrust::greater<Dtype>());   by Holobo
错误5:找不到”~\caffe\3rdparty\hungarian.h(.cpp)”文件

解决方式:
在~\libcaffe\include\3rdparty\hungarian.h目录下添加hungarian.h文件
在~\libcaffe\src\3rdparty\hungarian.h目录下添加hungarian.cpp文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值