window的caffe编译封装(微软caffe)

来源:互联网 发布:刺客聂隐娘 知乎 编辑:程序博客网 时间:2024/04/28 07:54

电脑系统是window7-10,NVIDIA1080Ti

先下载好需要的包:caffe,cuda8.0,vs2013,无python接口和MATLAB接口,无cudnn

caffe:https://github.com/Microsoft/caffe

cuda8.0 :https://developer.nvidia.com/cuda-downloads

vs2013:http://www.iplaysoft.com/vs2013.html

然后就开始了。

首先安装cuda之后(全部为默认选项),在CMD窗口,输入:nvcc -V,可以检测有CUDA8.0,然后顺便再系统环境变量里面看看cuda的两个变量有没有。

第二步安装vs2013,安装好之后,解压caffe-master。

然后打开caffe-master文件夹,然后看到一个windows文件夹,然后继续打开windows文件夹,看到里面一个CommonSettings.props.example文件,复制出来一份,并改名字为CommonSettings.props。用Visual Studio 2013打开windows文件夹下的Caffe.sln,检查解决方案中的项目,重点看libcaffe和test_all是否成功地被导入。如果这两个没有成功导入,原因是Visual Studio 2013的安装路径中缺少CUDA 8.0.props,我的是这个路径 
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations
其实CUDA 8.0.props就在cuda的安装目录下,我的路径是 
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
就行,那么libcaffe和testall就都没问题了!(以上解决方法属于引用,实际是导入了这两个项的。)

接下来:解决方案配置设为release。

然后在调试==>libcaffe属性修改两处,分别是配置属性中的常规和C/C++中的常规。

第一个常规的配置和平台都改为64的选项。第二个常规,把“把警告视为错误改为否”。

然后编译libcaffe项目。

如果中途出现以下错误,

错误 1 error MSB4062: 未能从程序集 D:\window caffe\NugetPackages\OpenCV.2.4.10\build\native\\private\coapp.NuGetNativeMSBuildTasks.dll 加载任务“NuGetPackageOverlay”。未能加载文件或程序集“file:///D:\window caffe\NugetPackages\OpenCV.2.4.10\build\native\private\coapp.NuGetNativeMSBuildTasks.dll”或它的某一个依赖项。另一个程序正在使用此文件,进程无法访问。 (异常来自 HRESULT:0x80070020) 请确认 <UsingTask> 声明正确,该程序集及其所有依赖项都可用,并且该任务包含实现 Microsoft.Build.Framework.ITask 的公共类。 D:\window caffe\NugetPackages\OpenCV.2.4.10\build\native\OpenCV.targets 772 5 libcaffe

为什么路径会有两个斜杠?

D:\window caffe\NugetPackages\OpenCV.2.4.10\build\native\\private\coapp.NuGetNativeMSBuildTasks.dll

一个文件一个文件地搜索MSBuildThisFileDirectory变量,才在opencv.2.4.10的文件夹里发现了

NugetPackages/OpenCV.2.4.10/build/native/OpenCV.props。

网上有人说删除了,重新还原,我根本解决不了。

解决方案:去掉private前面的斜杠。

DLL问题:

程序缺乏三个动态链接库:libgfortran-3.dlllibglog.dlllibopenblas.dll

(1)libgfortran-3.dll下载地址:http://www.dllzj.com/libgfortran-3.dll/;下载64位的dll

(2)libopenblas.dll下载地址:https://sourceforge.net/projects/openblas/files/

(3)libglog.dll:

先下载libglog0.3.3:http://download.csdn.net/detail/chenguangxing3/6661667

后来发现报错dll文件都在D:\windows\thirdparty\bins文件里面,只要把这个路径添加到系统环境变量里面就OK了。

突然发现众里寻他千百度,蓦然回首它就在bins。

暂时没什么错误。

参考链接:

http://blog.csdn.net/xierhacker/article/details/51834563

http://blog.csdn.net/lk274857347/article/details/53588049

http://www.voidcn.com/blog/yangguangqizhi/article/p-6610028.html

http://blog.csdn.net/zb1165048017/article/details/70116323

http://www.th7.cn/system/win/201706/216666.shtml

https://github.com/happynear/caffe-windows

http://forestli.com/archives/93/

http://blog.csdn.net/jasonzhangoo/article/details/54866120

http://blog.csdn.net/qq_14845119/article/details/52541622

http://blog.csdn.net/qq_14845119/article/details/52541622

dll报错链接:

http://blog.csdn.net/xueweuchen/article/details/28238617

http://www.dllzj.com/libgfortran-3.dll/

http://blog.csdn.net/a3137732/article/details/51417378

原创粉丝点击