win10-caffe-gpu编译注意

win10-py27-cuda8.0-cudnnv6-caffe-gpu-vs2013

 

1.caffe的下载:

需要编译,需要编译 Caffe下载链接(caffe-master): https://github.com/Microsoft/caffe

该链接的caffe适合python2.7

微软的Windows三方包(Nuget程序包)

 

2.搭建环境

(1)首先解压caffe-master.zip压缩包,打开caffe-master文件夹。在windows文件夹下复制CommonSettings.props.example文件, 重命名为CommonSettings.props文件。

2)在windows文件夹下找到Caffe.sln

 

(3)配置完CommonSettings.props后,需要将CUDA8.0.props复制一份到vs的系统路径中去

(相当于在vs中添加cuda的path,lib)cuda8.0.props

在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\extras\visual_studio_integration\MSBuildExtensions

复制到C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations

(4.)用vs2013打开caffe\windows\Caffe.sln 

右击项目属性

选择配置属性,设置如下

右键libcaffe属性在弹出的对话框中修改  Treat Warnings As Errors为NO

(5)减少翻墙下载问题,copy NuGet 程序包

直接打开 工具 ->选项 -> 包管理器 -> 常规 -> 浏览,

手动把 NuGet 程序包复制进去,下载地址,密码 qfui

 

3.编译:先编译libcaffe,再编译caffe,最后再编译pycaffe

(1)编译libcaffe

编译就是生成,然后等待一段时间,较长,通常是会报错的

报错 错误 193 error : too few arguments in function call D:\huifenqi\caffe\caffe-master\include\caffe\util\cudnn.hpp 114 1 libcaffe

出现原因,

是因为cudnn 的v6比v5版本多了一个参数,要需要选择的

解决方法:

cudnnSetConvolution2dDescriptor 转到定义

 

 

最终修改版:

然后在重新生成,编译成功啦~~

 

(2)编译caffe

右击‘caffe’选择生成

报错

原因,缺少 python.lib

解决方法:

到C:\ProgramData\Anaconda2下查找 python27.lib ,复制到libcaffe.lib所在的目录下

即把C:\ProgramData\Anaconda2\libs\python27.lib复制到D:\huifenqi\caffe\caffe-master\Build\x64\Debug下

然后再重新生成,生成成功

 

(3)编译pycaffe

可能需要安装boost_1_60_0-msvc-14.0-64.exe ,安装到默认目录即可;

然后进行如下配置即可

 

然后再重新生成即可搞定

 

4.使用pycaffe

(1)复制生成的caffe包

把D:\huifenqi\caffe\caffe-master\Build\x64\Debug\pycaffe该目录下的caffe文件夹复制到C:\ProgramData\Anaconda2\Lib\site-packages下即可

(2)导入caffe

python

import caffe

(3)问题:

python导入caffe时出现python caffe报错:No module named google.protobuf.internal

解决方法:conda install protobuf

 

 

5.编译convert_imageset

这个项目主要是做图片转换的,需要将图片转换成caffe支持的格式,LMDB或者LEVELDB格式,据说这样可以保持较高的IO效率

编译就是生成,然后等待一段时间,较长,通常是会报错的,报错和libcaffe一样,参照libcaffe的修改即可,然后再重新生成,编译成功会生成convert_imageset.exe

 

 

 

6.编译compute_image_mean

compute_image_mean是用来图片减去均值后,再进行训练和测试,会提高速度和精度。因此,一般在各种模型中都会有这个操作。

对于自然图像,更多的是做图像零均值化,并不需要估计样本的方差。这是因为在自然图像上进行训练时,对每一个像素单独估计均值和方差意义不大,因为(理论上)图像任一部分的统计性质都应该和其它部分相同,图像的这种特性被称作平稳性(stationarity)。

对于自然图片,即使不进行方差归一化操作,不同特征的方差值彼此相似,故而我们不再进行任何方差归一化操作。既然我们不做方差归一化,唯一还需进行的规整化操作就是均值规整化,其目的是保证所有特征的均值都在0附近。根据应用,在大多数情况下,我们并不关注所输入图像的整体明亮程度。比如在对象识别任务中,图像的整体明亮程度并不会影响图像中存在的是什么物体。更为正式地说,我们对图像块的平均亮度值不感兴趣,所以可以减去这个值来进行均值规整化[1]。 

  如果你处理的图像并非自然图像(比如,手写文字,或者白背景正中摆放单独物体),其他规整化操作就值得考虑了,而哪种做法最合适也取决于具体应用场合。但对自然图像而言,对每幅图像进行上述的零均值规整化,是默认而合理的处理。

 

编译就是生成,然后等待一段时间,编译成功会生成compute_image_mean.exe

 

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值