Windows下SSD安装验证步骤

Windows-Faster-rcnn安装全过程

一,软件版本及硬件型号

1 软件版本

Win7、CUDA8、CUDNN5.1 for CUDA8、opencv2.4、VS2017

2 硬件型号

I7700K、内存16G、固态硬盘500G、华硕猛禽1080ti

3, win7系统安装过程

选择光盘安装或U盘安装都可,注:win7系统和win10系统的faster-rcnn安装过程应该是一样的

在涉密机上安装时,需要安装USB3.0驱动,使用华硕主板的光盘驱动安装。

 

二,安装NVIDIA显卡驱动和VS2017

1,查询NVIDIA驱动:首先去官网(http://www.nvidia.com/Download/index.aspx?lang=en-us)查看适合自己显卡的驱动:

下载的驱动版本如下:

1080Ti版本的最好不要用1070的驱动,去官网下载最新的驱动,下载的是387.92版本

2, 安装NVIDIA驱动双击.exe文件即可安装,安装完毕后,在桌面空白处单击鼠标右键->个性化->选择Aero主题,若任务栏变为透明,则说明驱动安装成功。

3,下载VS2017,安装VS2017

三,安装CUDA

1 ,下载CUDA

CUDA是NVIDIA的编程语言平台,想使用GPU就必须要使用cuda

首先在官网上(https://developer.nvidia.com/cuda-downloads)下载CUDA:

2 ,安装CUDA:双击安装,选择默认路径及组件安装

环境变量配置:

在计算机上点右键,打开属性->高级系统设置->环境变量,可以看到系统中多了CUDA_PATH和CUDA_PATH_V8_0两个环境变量,接下来,还要在系统中添加以下几个环境变量:

CUDA_SDK_PATH=C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0

CUDA_LIB_PATH=%CUDA_PATH%\lib\x64

CUDA_BIN_PATH=%CUDA_PATH%\bin

CUDA_SDK_BIN_PATH=%CUDA_SDK_PATH%\bin\win64

CUDA_SDK_LIB_PATH=%CUDA_SDK_PATH%\common\lib\x64

然后,在系统变量 Path 的末尾添加:

;%CUDA_LIB_PATH%;%CUDA_BIN_PATH%;%CUDA_SDK_LIB_PATH%;%CUDA_SDK_BIN_PATH%;

3,重新启动计算机。

4,验证CUDA8.0已正确安装: 打开cmd,输入nvcc -V(若有信心安装正确,此步可忽略)

结果如下图:

 

若出现nvcc fatal : Cannot find compiler 'cl.exe' in PATH"

解决方案:在Path末尾添加cl.exe的路径:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64

四,编译CUDA8.0自带的samples

1. 在C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0目录下,用vs2017,打开Samples_vs20,7.sln如果这时候出现:

此时,是未找到CUDA 8.0.props

解决方案:将C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\extras\visual_studio_integration\MSBuildExtensions下的4个文件复制到C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations目录下,重新启动VS2017

2. 先选择release模式(debug会很慢),选中解决方案Samples_vs2013,重新生成解决方案

3. 需要说明的是个别例子编译失败,比如自己编译的时候成功135个,失败10个。失败的原因是缺乏相应的头文件;失败也没有什么影响

4. 编译成功后可在C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\bin\win64\Release目录下面找到全部例子的可执行文件

五,安装cuDNN(上传版需要去掉账号)

1 下载cuDNN

cuDNN是GPU加速计算深层神经网络的库

首先去官网(https://developer.nvidia.com/rdp/cudnn-download)下载cuDNN,需要注册一个账号才能下载:下载for windows7

2, 安装cuDNN

(1)下载完成后解压,cuda目录下有bin,include,lib三个文件夹

(2)拷贝目录至CUDA8.0的文件夹:分别将cuda\bin、cuda\include、cuda\lib\x64三个目录中的内容拷贝到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0对应的bin、include、lib\x64目录下即可

六, 安装SSD

1, 下载Windows版本的Caffe-SSD源码

下载链接:https://github.com/conner99/caffe,选择ssd-microsoft 分支

2修改CommonSettings.props文件

(1)打开caffe-ssd-microsoft文件夹,然后看到一个windows文件夹,然后继续打开windows文件夹,看到里面一个CommonSettings.props.example文件,复制出来一份,并改名字为CommonSettings.props

(2) 修改CommonSettings.props文件

 CudaVersion改为8.0

<UseCuDNN>true</UseCuDNN>

根据自己显卡的计算能力更改CudaArchitecture

<CudaArchitecture>compute_61,sm_61</CudaArchitecture>

3,编译前自动下载NugetPackages

(1) 将libcaffe设置为启动项

(2) 一定要将解决方案改为“release”,因为下载的NugetPackages包和这个release是对应的;如果选择debug,则下载的NugetPackages包也是debug版的,会导致用release编译时报错

(3) C/C++ -> 常规 里的将警告提示为错误修改 为否

(4)右键选择“生成”,开始下载NugetPackages,由于网速的原因开始的时候不动,不要以为有问题,查看C:\Users\jc\AppData\Local\NuGet下的Cache文件中的内容,会发现文件在不断变大;在C:\Users\jc\AppData\Roaming\NuGet中也会产生文件

(5) 若工程编译时出现无法加载NugetPackages\opencv2.4.10等错误,是因为NugetPackages包没有加载成功

解决方法:

1) 如果原来C:\Users\jc\AppData\Local和C:\Users\jc\AppData\Roaming中的NuGet\Cache和NuGet文件夹存在,试着删除他们重新编译

2) 如果这两个文件夹不存在,试着添加他们重新编译

3) 这两个文件夹中的内容可能起着引导加载的作用,变化可能会导致编译的成功

4, 编译libcaffe

(1)编译caffe时,报错:错误 4622 error C1189: #error : ERROR macro is defined. Define GLOG_NO_ABBRE

解决方法:

是一个宏定义的地方出现了冲突

在工程加上预编译宏GLOG_NO_ABBREVIATED_SEVERITIES:

C/C++   -->  预处理器   -->   预处理器定义   -->  加上GLOG_NO_ABBREVIATED_SEVERITIES,保存

参考网址:http://blog.csdn.net/pi9nc/article/details/20995817

(2)编译caffe时,报错:与boost相关的regex正则表达式库出现问题,在项目中我们不需要正则表达式,所以将相关语句注释掉即可

解决方法:

1) 打开libcaffe/include/layers/detection_output_layer.hpp,将与regex相关的头文件注释掉:

2) 打开libcaffe/src/layers/detection_output_layer.cpp,将所有出现regex和rv的语句注释掉

3) 打开libcaffe/cu/layers/detection_output_layer.cu,将所有出现regex和rv的语句注释掉

(3). 编译,报错:expected an identifier in caffe.pb.h

解决方法:修改libcaffe/cu/util/bbox_util.cu,注释掉所有带thrust的语句

(4). 编译,报错:找不到”.\caffe\3rdparty\hungarian.h”文件;找不到”.\src\caffe\3rdparty\hungarian.cpp”文件

解决方法:下载文件:http://pan.baidu.com/s/1mhYuf7y,密码:3jp2

将里面的hungarian.hhungarian.cpp文件拷贝出来

1) 在D:\caffe-ssd-microsoft\include\caffe中新建文件夹3rdparty,将hungarian.h文件拷贝进来

2) 在D:\caffe-ssd-microsoft\src\caffe中新建文件夹3rdparty,将hungarian.cpp文件拷贝景来

3) 不需要在libcaffe工程中添加,重新编译,编译器会自动在libcaffe中添加两个文件及对应的3rdparty文件夹

4). 编译成功后接着编译caffe工程,因为ssd_detect.exe的运行依赖caffe.exe

5). 编译ssd_detect工程,最后得到ssd_detect.exe文件

5运行ssd_detect.exe报错解决方法

(1). 在caffe-ssd-microsoft下新建sse_dect.bat文件,添加内容

D:/caffe-ssd-microsoft/Build/x64/Release/ssd_detect.exe D:/caffe-ssd-microsoft/models/VGGNet/VOC0712/SSD_512x512/deploy.prototxt D:/caffe-ssd-microsoft/models/VGGNet/VOC0712/SSD_512x512/VGG_VOC0712_SSD_512x512_iter_16000.caffemodel D:/caffe-ssd-microsoft/examples/images/pictures.txt

对照上面的指令添加文件  ,双击运行.bat文件

(2). 出现错误

[libprotobuf ERROR google/protobuf/text_format.cc:274] Error parsing text-format caffe.NetParameter: 938:9: Message type "caffe.PriorBoxParameter" has no field named "step".

F0306 10:40:29.101408 39034 upgrade_proto.cpp:79] Check failed: ReadProtoFromTextFile(param_file, param) Failed to parse NetParameter file: models/VGGNet/VOC0712/SSD_300x300/deploy.prototxt

*** Check failure stack trace: ***

解决方法:

对照linux下的caffe.proto文件进行更改,在1302行PriorBoxParameter中的末尾添加step、offset等成员:

(3)出现错误

caffe.NetParameter:1617:29:Invalid escape sequence in string literal

错误原因:

在windows中路径分隔符是’\’,直接把windows中的路径复制到protobuf文件中在解析的时候会出现这个错误

解决方法:将‘\’改为‘/’或者‘\\’

models\VGGNet\VOC0712\SSD_512x512\deploy.prototxt中最后几行的输出路径改为‘/’格式的

参考网址:http://imweirui.com/blog/2017/06/14/caffe-%E5%85%B3%E4%BA%8E%E9%94%99%E8%AF%AFerror-parsing-text-format-caffe-netparameter-1417-invalid-escape-sequence-in-string-literal/

(4) 出现错误

D:\caffe-ssd-microsoft\data\VOC0712缺少test_name_size.txt

解决方法:在D:\caffe-ssd-microsoft\data\VOC0712中添加test_name_size.txt(从linux版本中拷贝)

(5) 解决以上错误后重新编译,即可运行ssd_detect.exe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寒听雪落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值