Caffe regression's prediction value is larger than the label.

24 views
Skip to first unread message

Chiayu

unread,
Mar 3, 2017, 2:13:41 AM3/3/17
to Caffe Users
Hello everyone, I am trying to do the caffe regression. All the training data I used are labeled 0~1, and the loss value is about 0.02. However, the prediction of my training model is always larger than 1 (maybe 10~50 or larger), even the training data which I used to train has the same situation. I have tried to use the label without normalized to 0~1, but the prediction value becomes much larger (more than 500). Does anyone have the same problem when using the caffe regression or have any advice to handle this problem?  

Here is my training net.

name: "Net"
layer {
  name: "net"
  type: "Data"
  top: "data"
  top: "label"
  include {
    phase: TRAIN
  }
  transform_param {
scale: 0.00390625
  }
  data_param {
    source: "D:/YuCaffe/caffe-master0/data/type11/train_leveldb"
    batch_size: 64
    backend: LEVELDB
  }
}
layer {
  name: "net"
  type: "Data"
  top: "data"
  top: "label"
  include {
    phase: TEST
  }
  transform_param {
scale: 0.00390625
  }
  data_param {
    source: "D:/YuCaffe/caffe-master0/data/type11/test_leveldb"
    batch_size: 256
    backend: LEVELDB
  }
}
layer {
  name: "conv1"
  type: "Convolution"
  bottom: "data"
  top: "conv1"
  param {
    lr_mult: 0.1
    decay_mult: 1
  }
  param {
    lr_mult: 0.2
    decay_mult: 0
  }
  convolution_param {
    num_output: 96
    kernel_size: 11
    stride: 4
    weight_filler {
      type: "xavier"
      std: 0.01
    }
    bias_filler {
      type: "constant"
      value: 0
    }
  }
}
layer {
  name: "relu1"
  type: "ReLU"
  bottom: "conv1"
  top: "conv1"
}
layer {
  name: "norm1"
  type: "LRN"
  bottom: "conv1"
  top: "norm1"
  lrn_param {
    local_size: 5
    alpha: 0.0001
    beta: 0.75
  }
}
layer {
  name: "pool1"
  type: "Pooling"
  bottom: "norm1"
  top: "pool1"
  pooling_param {
    pool: MAX
    kernel_size: 3
    stride: 2
  }
}
layer {
  name: "conv2"
  type: "Convolution"
  bottom: "pool1"
  top: "conv2"
  param {
    lr_mult: 0.1
    decay_mult: 1
  }
  param {
    lr_mult: 0.2
    decay_mult: 0
  }
  convolution_param {
    num_output: 256
    pad: 2
    kernel_size: 5
    
    weight_filler {
      type: "xavier"
      std: 0.01
    }
    bias_filler {
      type: "constant"
      value: 0.1
    }
  }
}
layer {
  name: "relu2"
  type: "ReLU"
  bottom: "conv2"
  top: "conv2"
}
layer {
  name: "norm2"
  type: "LRN"
  bottom: "conv2"
  top: "norm2"
  lrn_param {
    local_size: 5
    alpha: 0.0001
    beta: 0.75
  }
}
layer {
  name: "pool2"
  type: "Pooling"
  bottom: "norm2"
  top: "pool2"
  pooling_param {
    pool: MAX
    kernel_size: 3
    stride: 2
  }
}
layer {
  name: "conv3"
  type: "Convolution"
  bottom: "pool2"
  top: "conv3"
  param {
    lr_mult: 0.1
    decay_mult: 1
  }
  param {
    lr_mult: 0.2
    decay_mult: 0
  }
  convolution_param {
    num_output: 256
    pad: 1
    kernel_size: 3
    group: 2
    weight_filler {
      type: "xavier"
      std: 0.01
    }
    bias_filler {
      type: "constant"
      value: 0.1
    }
  }
}
layer {
  name: "relu3"
  type: "ReLU"
  bottom: "conv3"
  top: "conv3"
}
layer {
  name: "pool3"
  type: "Pooling"
  bottom: "conv3"
  top: "pool3"
  pooling_param {
    pool: MAX
    kernel_size: 3
    stride: 2
  }
}
layer {
  name: "fc4_flickr"
  type: "InnerProduct"
  bottom: "pool3"
  top: "fc4_flickr"
  param {
    lr_mult: 0.1
    decay_mult: 1
  }
  param {
    lr_mult: 0.2
    decay_mult: 0
  }
  inner_product_param {
    num_output: 4096
    weight_filler {
      type: "xavier"
      std: 0.005
    }
    bias_filler {
      type: "constant"
      value: 0.1
    }
  }
}
layer {
  name: "relu4"
  type: "ReLU"
  bottom: "fc4_flickr"
  top: "fc4_flickr"
}
layer {
  name: "drop4"
  type: "Dropout"
  bottom: "fc4_flickr"
  top: "fc4_flickr"
  dropout_param {
    dropout_ratio: 0.5
  }
}
layer {
  name: "fc5_flickr"
  type: "InnerProduct"
  bottom: "fc4_flickr"
  top: "fc5_flickr"
  param {
    lr_mult: 0.1
    decay_mult: 1
  }
  param {
    lr_mult: 0.2
    decay_mult: 0
  }
  inner_product_param {
    num_output: 1
    weight_filler {
      type: "xavier"
      std: 0.01
    }
    bias_filler {
      type: "constant"
      value: 0
    }
  }
}
layer {
  name: "relu5_value"
  type: "ReLU"
  bottom: "fc5_flickr"
  top: "fc5_flickr"
}
layer {
  name: "value"
  type: "EuclideanLoss"
  bottom: "fc5_flickr"
  bottom: "label"
  top: "value"
}

Thank you for any help you can provide.
Reply all
Reply to author
Forward
0 new messages