[Caffe]:Check failed: out_num_ * inner_num_ == bottom[1]->count()

在caffe环境下运行语义分割网络的时候遇到这个问题,对caffe的运用还不是很熟悉,主要出现在SoftmaxWithLoss层和accuracy层,这是由于在网络中conv层和intep层中zoom和shrink的作用使得label和特征图的输入大小不一致,所以需要到日志中去看每层特征图的大小。
不能想当然认为interp层的输出特征图一定是偶数,它的输出特征图大小的计算方式如下:
shrink:
height_out_ = (height_in_ - 1) / shrink_factor + 1;
width_out_ = (width_in_ - 1) / shrink_factor + 1;
zoom:
height_out_ = height_in_ + (height_in_ - 1) * (zoom_factor - 1);
width_out_ = width_in_ + (width_in_ - 1) * (zoom_factor - 1);
解决该问题的具体操作是:1.卷积层中修改pad的大小,不使用zoom和shrink参数,而是将输出大小写死,如:height:96 width:96。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值