[英]Matconvnet output of deep network's marix is uniform valued instead of varying values?
我试图从尺寸为20x20x1x50的网络输出中获得密度图。 这里20x20是输出映射,50是批量。
问题是每个输出矩阵上的输出X的值等于0.098..20x20。 没有像密度图这样的高斯形状,而是具有20x20x1x50的平坦相似值的输出图。 问题显示在附图中。 我在这里想念什么? 反向传播的欧几里得损失为:
case {'l2loss'}
res=(c-X);
n=1;
if isempty(dzdy) %forward
Y = sum((res(:).^2))/numel(res);
else
Y_= -1.*(c-X);
Y = 2*single (Y_ * (dzdy / n) );
end
在https://github.com/vlfeat/matconvnet/issues/313找到了解决方案。 查询conv.var(i).value以查看该值所在的位置,然后在conv网络中编辑该层。 就我而言,我必须更改转换层的偏差
net2.params(8).value = 0.01 * init_bias * ones(1,128,'single');%'biases',
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.