Caffe 运行平台支持DenseNet模型

本文介绍了将DenseNet模型集成到Caffe运行平台时遇到的报错问题,分析了错误原因,特别是pooling层不支持参数的错误。通过对比分析Caffe源码,详细说明了如何修改pooling_layer.hpp和pooling_layer.cpp,并在caffe.proto文件中进行相应调整以支持DenseNet。最后,文章提供了修改流程,包括替换文件和重新编译Caffe,成功解决了DenseNet的运行问题。
摘要由CSDN通过智能技术生成


在计算机视觉领域,卷积神经网络(CNN)已经成为最主流的方法,比如GoogLenet、VGG-19、Incepetion等模型。CNN史上的一个里程碑事件是ResNet模型的出现,ResNet可以训练出更深的CNN模型,从而实现更高的准确度。ResNet模型的核心是通过建立前面层与后面层之间的“短路连接”(shortcuts,skip connection),这有助于训练过程中梯度的反向传播,从而能训练出更深的CNN网络。

DenseNet模型的基本思路与ResNet一致,但是它建立的是前面所有层与后面层的密集连接(dense connection),它的名称也是由此而来。DenseNet的另一大特色是通过特征在channel上的连接来实现特征重用(feature reuse)。这些特点让DenseNet在参数和计算成本更少的情形下实现比ResNet更优的性能,DenseNet也因此斩获CVPR 2017的最佳论文奖。

1 集成DenseNet的报错信息

最近要把DenseNet集成到现有的运行平台,结果发现加载模型时caffe报如下错误信息:

[TL] 2019/03/21 19:52:17.688357 [8 12 34642][libprotobuf ERROR google/protobuf/text_format.cc:245] Error parsing text-format caffe.NetParameter: 54:15: Message type "caffe.PoolingParameter" has no field named "round_mode".
[TL] 2019/03/21 19:52:17.688714 [8 12 34642]F0321 19:52:17.688385 34642 upgrade_proto.cpp:90] Check failed: ReadProtoFromTextFile(param_file, param) Failed to parse NetParameter file: /workspace/AI/expression_v2/expression.prototxt
[TL] 2019/03/21 19:52:17.688827 [8 12 34642]*** Check failure stack trace: ***
[TL] 2019/03/21 19:52:17.689052 [8 12 34642]    @     0x7fc916efc84d  google::LogMessage::Fail()
[TL] 2019/03/21 19:52:17.689222 [8 12 34642]    @     0x7fc916efe61c  google::LogMessage::SendToLog()
[TL] 2019/03/21 19:52:17.689387 [8 12 34642]    @     0x7fc916efc43c  google::LogMessage::Flush()
[TL] 2019/03/21 19:52:17.689550 [8 12 34642]    @     0x7fc916efef2e  google::LogMessageFatal::~LogMessageFatal()
[TL] 2019/03/21 19:52:17.690197 [8 12 34642]    @     0x7fc91639a17e  c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值