用 caffe做图像分割实验时,loss值很诡异

在使用Caffe进行图像分割实验时,遇到loss值异常快速下降并导致训练模型无法正确分割的问题。经过排查,发现是由于softmax_loss_layer中scale参数设置错误,1/256.0的scale导致标签值被不当转换,使得所有label几乎变为0。修正scale值为1/128.0后,问题得到解决。这个案例强调了在深度学习训练中注意异常的重要性,防止浪费大量训练时间。
摘要由CSDN通过智能技术生成

最近在做图像分割的实验,使用的是CRF as RNN的网络,但是训练起来有些诡异,loss降低得飞快,不一会儿就降一半。然后一直到个位数时,我觉得应该可以test了。然后使用训练好了的模型,用python接口加载,输出结果一看,全是黑的,没有分割。

仔细想想,这个loss值这么低,不应该会这样阿!难道是loss计算错了?

然后再想想最后loss层的输入,一个是网络的最后计算结果。于是在test中把最后一层输出来,没有分割信息。把倒数第二层输出,也是一样。这个说明网络并没有学到分割这种特征,为什么呢?

输入的图像应该是不可能错误的。那就只有一种可能了,label有问题。

确实label有问题。做分割时,label就是一幅分割后的图像。于是把这个图像加载进来作为label,输入最后的loss层。但是我们使用了

  transform_param {
    scale: 0.00390625
  }

这个值是 1/256.0 ,那label图中是0-255,所以,这样的输入转换后全部是0-255/256.

打开 softmax_loss_layer.cpp ,发现

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值