现在编译caffe比以前要方便点了,官网提供的caffe安装包在你打开项目编译libcaffe时会自动为你下载第三方依赖库,而且自动编译识别。这里把自动编译过程中的遇到的问题汇总一下,单独搜这些也是可以搜到的。
关于cuda,cudnn,vs2013的安装都很简单,这里不再多说,其中cudnn的版本根据自己的情况选吧,也可以是7.0
caffe可以去官网下载,也可以用下面的链接
链接:
提取码:1h1d
第三方依赖库集合NugetPackages是自动下载的,如果下载不了就用下面的链接
链接:
提取码:cfrc
注意这个文件是和caffe-master在同级目录
编译前先更改配置文件ample为CommonSettings.props
自动编译时可能遇到下面的错误:
最开始可能遇到的错误我直接在别的博客截一下图把,这个问题我再回去操作一遍太麻烦了
0.
一开始应该会遇到这个错误,就是需要把下面cuda的路径里的那几个文件拷贝到系统能识别的那个路径,类似下面这张图的操作,不管你是cuda什么版本都会对应找到下面的路径
1.
D:NugetPackagesOpenCV.2.4.10buildnativeOpenCV.targets(772,5): error MSB4062: 未能从程序集 D:NugetPNugetPackagesOpenCV.2.4.10buildnativeprivatecoapp.NuGetNativeMSBuildTasks.dll 加载任务“NuGetPackageOverlay”。未能加载文件或程序集“file:///E:NugetPackagesOpenCV.2.4.10buildnativeprivatecoapp.NuGetNativeMSBuildTasks.dll”或它的某一个依赖项。系统找不到指定的文件
搜到的解决方式:libcaffe右击以后按下面来:
管理NuGet程序包->更新,此时可以看到opencv后面有更新的按钮,点击更新为opencv2.4.11,这时项目已经在对应的配置文件更改了相关内容,原博客说需要先卸载libcaffe项目然后到D:caffe-masterwindowslibcaffelibcaffe.vcxproj中修改opencv版本,但是我发现其实不用,这个是自动更新,你可以关闭VS去确认一下。
2.
error: too few arguments in function call 双击错误的地方定位到具体的代码行,报错函数 cudnnSetConvolution2dDescriptor,在参数列表末尾补充一个参数 CUDNN_DATA_FLOAT 或CUDNN_DATA_DOUBLE即可这个错误借用了一下原博客的图,我忘了截图了。
3.
error C1083: 无法打开包括文件: “pyconfig.h”: No such file or directory (....srccaffelayer_factory.cpp) D:NugetPackagesboost.1.59.0.0libnativeincludeboostpythondetailwrap_python.hpp
这个错误是因为在CommonSettings.props中你的python路径没给对或者没给。我配置文件里的路径是python3,python3不行你改成python2试试。
4.
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0V120Microsoft.CppCommon.targets(132,5): error MSB3073: :VCEnd”已退出,代码为 1
这个错误右击项目,然后在属性里面 配置属性-后期生成事件-在生成中使用 这里 把 是 改成 否
在libcaffe编译没有问题以后就可以编译caffe了,正常情况下应该不会报错,我就没有报错,然后其他的就基本不会有什么问题了。
pycaffe 编译完需要把相关文件即pycaffe下面的caffe拷贝到python中site-packages下面,具体如下:
接下来你在python中import caffe时可能遇到protobuf相关的错误即ImportError: No module named google.protobuf.internal,具体情况及解决办法如下(反正就是直接pip install protobuf就行了):
本文发布于:2024-01-28 06:28:55,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17063945415460.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |