1.I我从https://github.com/aleph7/caffe/下载源代码,并将caffe构建为IOS和IPhone的静态库。 2.处理样本演示代码和Linked Caffe静态库(.a)并执行代码。 3.现在我遇到了运行时错误
F0519 14:54:12.494139 14504 layer_factory.hpp:77]检查失败:registry.count(t ype)== 1(0对1)未知图层类型:卷积(已知类型:MemoryData)
4.我搜索了很多,并从下面的链接中找到了一个解决方案
5.如果我创建动态库而不是静态库。它会起作用。
6.我试图将静态库转换为动态库。我在Xcode上遇到错误,无法打开我在下面提到的项目链接。
How do I change an existing XCode target from dynamic to static?
你能帮忙解决这个问题吗??
答案 0 :(得分:-1)
Caffe通过REGISTER_LAYER_CLASS
宏注册图层类。一些构建工具(例如Xcode)将优化其中的一部分(稍微复杂一点)。您可以将-Wl,-force_load path/to/libcaffe.a
添加到Other Linker Flags
构建选项中。它将强制Xcode将libcaffe.a中的所有内容加载到最终目标。
此外,Unknown layer type
错误也可能由陈旧代码引起。 https://github.com/aleph7/caffe/中的caffe代码已过期。您可以在https://github.com/solrex/caffe-mobile尝试我的端口。它包含一个演示iOS应用程序,使用最新的构建工具。 Caffe源代码是最新的,你可以自己同步最新的caffe代码。