windows7下解决caffe check failed registry.count(type) == 1(0 vs. 1) unknown layer type问题
2024-10-19 20:26:36
在Windows7下调用vs2013生成的Caffe静态库时经常会提示Check failed: registry.count(type) == 1 (0 vs. 1) Unknown layer type的错误,如下图:
这里参考网上资料汇总了几种解决方法:
1. 不使用Caffe的静态库,直接将Caffe的source加入到main工程中;
2. 将Caffe编译成动态库;
3. 使用Caffe静态库,新建一个caffe_layers_registry.hpp头文件,文件中的内容如下(部分代码段,需要将所有的层全部列出来),并且需要将此头文件include到其它文件的上面:
#include "caffe/common.hpp" // may be need to include other head files namespace caffe { extern INSTANTIATE_CLASS(ConvolutionLayer); extern INSTANTIATE_CLASS(PoolingLayer); extern INSTANTIATE_CLASS(ReLULayer); extern INSTANTIATE_CLASS(TanHLayer); // other layer // may be need to REGISTER_LAYER_CREATOR() }
4. 使用Caffe静态库,选中Caffe_Test工程 --> 右键,属性--> 通用属性 --> 引用 --> 添加引用 --> caffe(此caffe工程为caffe静态库工程) --> 项目引用属性 --> 链接库依赖项设置为True,使用库依赖项输入设置为True,如下图:
5. 使用Caffe静态库,在原有src/caffe/net.cpp文件中,添加如下代码段:
#define FORCE_REG(type) \ extern LayerRegisterer<float> g_creator_f_##type; \ extern LayerRegisterer<double> g_creator_d_##type; \ LayerRegisterer<float> *__g_creator_f_##type = &g_creator_f_##type; \ LayerRegisterer<double> *__g_creator_d_##type = &g_creator_d_##type FORCE_REG(TanH); FORCE_REG(Pooling); FORCE_REG(ReLU); FORCE_REG(Sigmoid); FORCE_REG(Softmax); FORCE_REG(Dropout); FORCE_REG(Convolution); FORCE_REG(Deconvolution); FORCE_REG(Concat); FORCE_REG(BNLL); FORCE_REG(Flatten); FORCE_REG(InnerProduct); FORCE_REG(Eltwise); FORCE_REG(Power); FORCE_REG(LRN); FORCE_REG(MemoryData); FORCE_REG(Data); FORCE_REG(Split); FORCE_REG(Reshape); FORCE_REG(Im2col); FORCE_REG(Slice); FORCE_REG(PReLU); FORCE_REG(SoftmaxWithLoss); FORCE_REG(Accuracy);
以上第4种、第5种方法亲自测试过可以正常调用Caffe静态库,但是依赖的Caffe源码比较老,后面会更新到最新版本。
GitHub:https://github.com/fengbingchun/Caffe_Test
最新文章
- spring定时任务详解(@Scheduled注解)( 转 李秀才的博客 )
- 关于TCP/IP的三次握手和四次挥手解释
- StructureMap使用方法(转)
- NVlink
- 判断i在字符串中出现的次数(2016.1.12P141-1)
- hive中的常用方法(case,cast,unix_timestamp)
- centos python nginx uwsgi
- [转]linux下iftop工具的安装与使用详解(图文)——实时的网络流量,监控TCP/IP连接(单机)
- 可能性dp+减少国家HDU4336
- Spring MVC整合DWR
- 【Windows 10 应用开发】使用快捷访问键
- hdu5601 BestCoder Round #67 (div.2)
- Codeforces 1079C Playing Piano(记忆化搜索)
- vue 获取dom的css属性值
- mysql 开发基础系列9 存储引擎 MyISAM 介绍
- RMQ st算法 区间最值模板
- Django REST framework 第四章 Authentication
- 【LeetCode】区间合并
- Redis4.0新特性之-大KEY删除
- OnClick,OnClientClick和OnServerClick的区别
热门文章
- ORACLE RAC节点意外重启Node Eviction诊断流程图(11.2+)
- [翻译] FBNetworkReachability
- XtraEditors一、总体介绍
- php 实现八皇后问题
- [转]IE9.0或者360下js(JavaScript、jQuery)不能正确执行(加载),按F12后执行正常;Firefox下ajax的success返回数据data(json、string)无法获取
- Windows 7防火墙阻止了远程桌面连接的解决方法
- 【bzoj 4154】[Ipsc2015]Generating Synergy
- redis 使用案例
- windows 下搭建git服务器,及问题处理。
- mongodb的学习-2-简介