windows环境下编译caffe遇到的问题以及处理方法

网友投稿 1511 2022-10-05

windows环境下编译caffe遇到的问题以及处理方法

windows环境下编译caffe遇到的问题以及处理方法

1 微软caffe

-: error MSB4062: 未能从程序集

1-2 Caffe编译"gpu/mxGPUArray.h" Not Found错误解决

matlab版本太新导致的

解决: 需要到在matlab的includepath中增加

$(MatlabDir)\toolbox\distcomp\gpu\extern\include;        E:\02_software\01_develop\matlab       $(MatlabDir)\extern\lib\win64\microsoft;$(LibraryPath)       $(MatlabDir)\extern\include;$(MatlabDir)\toolbox\distcomp\gpu\extern\include;$(IncludePath)     windows7下配置caffe+matlab2016 无GPU(详细教材)

Windows上运行Caffe自带的mnist例子 Windows Caffe常见问题解决 以及如何更换为自己的Opencv

Win7x64+cuda8.0+ Microsoft caffe VS2013配置记录

2 windows SSD编译

-源码: 选择ssd-microsoft 分支

2-1 修改CommonSettings.props文件

修改GPU还是CPU模式; 修改CUDA版本; 修改是否支持python或者matlab;

2-2 注释相关语句

2-2-1 detection_output_layer.hpp 注释掉与regex相关头文件

//#include

2-2-2 detection_output_layer.cpp 注释掉所有出现regex和rv的语句

//boost::regex exp("\"(null|true|false|-?[0-9]+(\\.[0-9]+)?)\""); ptree output; output.add_child("detections", detections_); std::stringstream ss; write_json(ss, output); /*std::string rv = boost::regex_replace(ss.str(), exp, "$1"); outfile << rv.substr(rv.find("["), rv.rfind("]") - rv.find("[")) << std::endl << "]" << std::endl;*/

2-2-3 detection_output_layer.cu 注释掉所有出现regex和rv的语句

// boost::regex exp("\"(null|true|false|-?[0-9]+(\\.[0-9]+)?)\""); ptree output; output.add_child("detections", detections_); std::stringstream ss; write_json(ss, output); /*std::string rv = boost::regex_replace(ss.str(), exp, "$1"); outfile << rv.substr(rv.find("["), rv.rfind("]") - rv.find("[")) << std::endl << "]" << std::endl;*/

2-2-4 bbox_util.cu 注释掉所有带thrust的语句

//#include "thrust/functional.h"//#include "thrust/sort.h"/*thrust::sort_by_key(&confidences[0], &confidences[0] + num_remain, &idx[0], thrust::greater()); if (top_k > -1 && top_k < num_remain) { num_remain = top_k; }*/

2-3 报错处理

2-3-1  error C2220: 警告被视为错误

error C2220: 警告被视为错误 - 没有生成“object”文件 (..\..\src\caffe\util\math_functions.cpp) 属性 -> C/C++ -> 讲警告视为错误 否

2-3-2  无法打开源文件: “..\..\src\caffe\3rdparty\hungarian.cpp

fatal error C1083: 无法打开源文件: “..\..\src\caffe\3rdparty\hungarian.cpp”: No such file or directory

去- hungarian.hpp 和 hungarian.cpp,并在相应目录include和src 的caffe目录下新建3rdparty文件夹,并添加相应文件即可

2-3-3 Check failed: registry.count(t ype) == 1 (0 vs. 1) Unknown layer type: Input (known types: Input )

2-3-4 File not found: data/VOC0712/labelmap_voc.prototxt

修改 deploy.prototxt最后的labelmap_voc.prototxt文件

2-3-5 #include无法打开自己所写的头文件(.h)

#include无法打开自己所写的头文件(.h)

2-3-6 glog.0.3.3.0\build\native\glog.targets(346,5): error MSB4062: 未能从程序集 H:\caffe\caffe-ssd-microsoft\NugetPackages\gflags.2.1.2.1\build\native\private\coapp.NuGetNativeMSBuildTasks.dll 加载任务“NuGetPackageOverlay”。

解决方法:进入到对应的glog.0.3.3.0/build/native,打开glog.targets,到末尾注释掉这个有关的UsingTask和相应的ProtertyGroup下的内容:

true

2-3-7 NugetPackages\OpenCV.2.4.11\build\native\OpenCV.targets(1115,5): error MSB4062: 未能从程序集 H:\caffe\caffe-ssd-microsoft\NugetPackages\gflags.2.1.2.1\build\native\private\coapp.NuGetNativeMSBuildTasks.dll 加载任务“NuGetPackageOverlay”。

解决方法:进入到对应的OpenCV.targets,注释掉以下的内容:

2-3-8 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(132,5): error MSB3073: 命令“"H:\caffe\caffe-ssd-microsoft\caffe-ssd-microsoft\windows\\scripts\BinplaceCudaDependencies.cmd" "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin" "D:\cudnn5.1" false true "H:\caffe\caffe-ssd-microsoft\caffe-ssd-microsoft\windows\..\Build\x64\Release\"

解决方案: cuda路径配置有问题,可以看到前面的报错

D:\cudnn-v5.1

2-3-9 win7配置caffe,import caffe时提示No module named caffe

​​fatal error C1083: 无法打开包括文件: “mex.h”: No such file or directory

参考文章:

Windows下Caffe-SSD编译

Caffe-SSD(single-shot-multibox)在Windows平台下的配置(CPU和GPU)与训练记录

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:2018热门微信小程序个人开发入门篇 (附代码)(简单微信小程序开发)
下一篇:小程序 WXSS wx:key的作用以及使用实例(小程序怎么注册)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~