用FCN做图像分割,label在scale后loss值就不会变化,求大神指导

我的原始图像为单通道jpg,ground truth为单通道png,都生成了lmdb
(话说用不用mean_value应该影响不大?用不用loss都不会变化)
——————————————————————————————————————————————————
我的ground truth为了我看着方便,生成的时候故意用了灰度0,16,32,48,64,80,...

4ae6ee4c569c2d6101569c2e95a10003_62.jpg

大家就不要吐槽这是什么东西了。。。。
——————————————————————————————————————————————————
 layer 
{
  name: "data"
  type: "Data"
  top: "image"
  include
  {
    phase: TRAIN
  }
  transform_param
  {
    mirror: false
    crop_size: 100
    mean_file: "/home/liuwenling/caffe/examples/vgg16-semantic-segmentation/train_origin_mean.binaryproto"
  }
  data_param
  {
    source: "/home/liuwenling/caffe/examples/vgg16-semantic-segmentation/train_origin_lmdb"
    batch_size: 1
    backend: LMDB
  }
}
layer 
{
  name: "data"
  type: "Data"
  top: "label"
  include
  {
    phase: TRAIN
  }
  transform_param
  {
    mirror: false
    scale: 0.0625
    crop_size: 100
  }
  data_param
  {
    source: "/home/liuwenling/caffe/examples/vgg16-semantic-segmentation/voc12_train_truth_lmdb"
    batch_size: 1
    backend: LMDB
  }
}
 
#....中间过程
layer {
  name: "loss"
  type: "SoftmaxWithLoss"
  bottom: "score"
  bottom: "label"
  top: "loss"
  loss_param {
    ignore_label: 255
    normalize: false
  }
}
 
 

2016-08-22_09:37:46屏幕截图.jpg

 
已邀请:

Artisgrammer - 刚毕业的渣

赞同来自:

很奇怪的是,如果我之前让ground truth label过大了妥妥的会有CUBLAS_STATE_MAPPING_ERROR,但是现在如果保持原有的label,这次不会报错了,反而loss会有变化了(虽然也是无意义的跳动),而我scale之后,loss就是标准的0,1,2,3,...了但是loss却恒定了,实在不能理解。
 

Artisgrammer - 刚毕业的渣

赞同来自:

我发现我把原始的ground truth label改成了0,1,2,3,4,5,.....也就不行了,loss不变化了。。。

要回复问题请先登录注册