Top blob 'label' produced by multiple sources.

702 views
Skip to first unread message

jas

unread,
May 10, 2016, 11:31:42ā€ÆAM5/10/16
to Caffe Users
Hello,

I'm getting the following error while running the following network:

Error
--------
output data size: 1,3,200,200
Setting up data
Top shape: 1 3 200 200 (120000)
Top shape: 1 (1)
Memory required for data: 480004
Creating layer data_data_0_split
Creating Layer data_data_0_split
data_data_0_split <- data
data_data_0_split -> data_data_0_split_0
data_data_0_split -> data_data_0_split_1
Setting up data_data_0_split
Top shape: 1 3 200 200 (120000)
Top shape: 1 3 200 200 (120000)
Memory required for data: 1440004
Creating layer label
Creating Layer label
Top blob 'label' produced by multiple sources.

Network
-------------


layer {
Ā  name: "data_1"
Ā  type: "Data"
Ā  top: "data"
Ā  top: "label"
Ā  include {
Ā  Ā  phase: TRAIN
Ā  }
Ā  transform_param {
Ā  Ā  mirror: true
Ā  Ā  crop_size: 200
Ā  }
Ā  data_param {
Ā  Ā  batch_size: 1
Ā  }
}
layer {
Ā  name: "conv1_1"
Ā  type: "Convolution"
Ā  bottom: "data"
Ā  top: "conv1_1"
Ā  param {
Ā  Ā  lr_mult: 1
Ā  Ā  decay_mult: 1
Ā  }
Ā  param {
Ā  Ā  lr_mult: 2
Ā  Ā  decay_mult: 0
Ā  }
Ā  convolution_param {
Ā  Ā  num_output: 64
Ā  Ā  pad: 100
Ā  Ā  kernel_size: 3
Ā  Ā  stride: 1
Ā  }
}
layer {
Ā  name: "relu1_1"
Ā  type: "ReLU"
Ā  bottom: "conv1_1"
Ā  top: "conv1_1"
}
layer {
Ā  name: "conv1_2"
Ā  type: "Convolution"
Ā  bottom: "conv1_1"
Ā  top: "conv1_2"
Ā  param {
Ā  Ā  lr_mult: 1
Ā  Ā  decay_mult: 1
Ā  }
Ā  param {
Ā  Ā  lr_mult: 2
Ā  Ā  decay_mult: 0
Ā  }
Ā  convolution_param {
Ā  Ā  num_output: 64
Ā  Ā  pad: 1
Ā  Ā  kernel_size: 3
Ā  Ā  stride: 1
Ā  }
}
layer {
Ā  name: "relu1_2"
Ā  type: "ReLU"
Ā  bottom: "conv1_2"
Ā  top: "conv1_2"
}
layer {
Ā  name: "pool1"
Ā  type: "Pooling"
Ā  bottom: "conv1_2"
Ā  top: "pool1"
Ā  pooling_param {
Ā  Ā  pool: MAX
Ā  Ā  kernel_size: 2
Ā  Ā  stride: 2
Ā  }
}
layer {
Ā  name: "conv2_1"
Ā  type: "Convolution"
Ā  bottom: "pool1"
Ā  top: "conv2_1"
Ā  param {
Ā  Ā  lr_mult: 1
Ā  Ā  decay_mult: 1
Ā  }
Ā  param {
Ā  Ā  lr_mult: 2
Ā  Ā  decay_mult: 0
Ā  }
Ā  convolution_param {
Ā  Ā  num_output: 128
Ā  Ā  pad: 1
Ā  Ā  kernel_size: 3
Ā  Ā  stride: 1
Ā  }
}
layer {
Ā  name: "relu2_1"
Ā  type: "ReLU"
Ā  bottom: "conv2_1"
Ā  top: "conv2_1"
}
layer {
Ā  name: "conv2_2"
Ā  type: "Convolution"
Ā  bottom: "conv2_1"
Ā  top: "conv2_2"
Ā  param {
Ā  Ā  lr_mult: 1
Ā  Ā  decay_mult: 1
Ā  }
Ā  param {
Ā  Ā  lr_mult: 2
Ā  Ā  decay_mult: 0
Ā  }
Ā  convolution_param {
Ā  Ā  num_output: 128
Ā  Ā  pad: 1
Ā  Ā  kernel_size: 3
Ā  Ā  stride: 1
Ā  }
}
layer {
Ā  name: "relu2_2"
Ā  type: "ReLU"
Ā  bottom: "conv2_2"
Ā  top: "conv2_2"
}
layer {
Ā  name: "pool2"
Ā  type: "Pooling"
Ā  bottom: "conv2_2"
Ā  top: "pool2"
Ā  pooling_param {
Ā  Ā  pool: MAX
Ā  Ā  kernel_size: 2
Ā  Ā  stride: 2
Ā  }
}
layer {
Ā  name: "conv3_1"
Ā  type: "Convolution"
Ā  bottom: "pool2"
Ā  top: "conv3_1"
Ā  param {
Ā  Ā  lr_mult: 1
Ā  Ā  decay_mult: 1
Ā  }
Ā  param {
Ā  Ā  lr_mult: 2
Ā  Ā  decay_mult: 0
Ā  }
Ā  convolution_param {
Ā  Ā  num_output: 256
Ā  Ā  pad: 1
Ā  Ā  kernel_size: 3
Ā  Ā  stride: 1
Ā  }
}
layer {
Ā  name: "relu3_1"
Ā  type: "ReLU"
Ā  bottom: "conv3_1"
Ā  top: "conv3_1"
}
layer {
Ā  name: "conv3_2"
Ā  type: "Convolution"
Ā  bottom: "conv3_1"
Ā  top: "conv3_2"
Ā  param {
Ā  Ā  lr_mult: 1
Ā  Ā  decay_mult: 1
Ā  }
Ā  param {
Ā  Ā  lr_mult: 2
Ā  Ā  decay_mult: 0
Ā  }
Ā  convolution_param {
Ā  Ā  num_output: 256
Ā  Ā  pad: 1
Ā  Ā  kernel_size: 3
Ā  Ā  stride: 1
Ā  }
}
layer {
Ā  name: "relu3_2"
Ā  type: "ReLU"
Ā  bottom: "conv3_2"
Ā  top: "conv3_2"
}
layer {
Ā  name: "conv3_3"
Ā  type: "Convolution"
Ā  bottom: "conv3_2"
Ā  top: "conv3_3"
Ā  param {
Ā  Ā  lr_mult: 1
Ā  Ā  decay_mult: 1
Ā  }
Ā  param {
Ā  Ā  lr_mult: 2
Ā  Ā  decay_mult: 0
Ā  }
Ā  convolution_param {
Ā  Ā  num_output: 256
Ā  Ā  pad: 1
Ā  Ā  kernel_size: 3
Ā  Ā  stride: 1
Ā  }
}
layer {
Ā  name: "relu3_3"
Ā  type: "ReLU"
Ā  bottom: "conv3_3"
Ā  top: "conv3_3"
}
layer {
Ā  name: "pool3"
Ā  type: "Pooling"
Ā  bottom: "conv3_3"
Ā  top: "pool3"
Ā  pooling_param {
Ā  Ā  pool: MAX
Ā  Ā  kernel_size: 2
Ā  Ā  stride: 2
Ā  }
}
layer {
Ā  name: "conv4_1"
Ā  type: "Convolution"
Ā  bottom: "pool3"
Ā  top: "conv4_1"
Ā  param {
Ā  Ā  lr_mult: 1
Ā  Ā  decay_mult: 1
Ā  }
Ā  param {
Ā  Ā  lr_mult: 2
Ā  Ā  decay_mult: 0
Ā  }
Ā  convolution_param {
Ā  Ā  num_output: 512
Ā  Ā  pad: 1
Ā  Ā  kernel_size: 3
Ā  Ā  stride: 1
Ā  }
}
layer {
Ā  name: "relu4_1"
Ā  type: "ReLU"
Ā  bottom: "conv4_1"
Ā  top: "conv4_1"
}
layer {
Ā  name: "conv4_2"
Ā  type: "Convolution"
Ā  bottom: "conv4_1"
Ā  top: "conv4_2"
Ā  param {
Ā  Ā  lr_mult: 1
Ā  Ā  decay_mult: 1
Ā  }
Ā  param {
Ā  Ā  lr_mult: 2
Ā  Ā  decay_mult: 0
Ā  }
Ā  convolution_param {
Ā  Ā  num_output: 512
Ā  Ā  pad: 1
Ā  Ā  kernel_size: 3
Ā  Ā  stride: 1
Ā  }
}
layer {
Ā  name: "relu4_2"
Ā  type: "ReLU"
Ā  bottom: "conv4_2"
Ā  top: "conv4_2"
}
layer {
Ā  name: "conv4_3"
Ā  type: "Convolution"
Ā  bottom: "conv4_2"
Ā  top: "conv4_3"
Ā  param {
Ā  Ā  lr_mult: 1
Ā  Ā  decay_mult: 1
Ā  }
Ā  param {
Ā  Ā  lr_mult: 2
Ā  Ā  decay_mult: 0
Ā  }
Ā  convolution_param {
Ā  Ā  num_output: 512
Ā  Ā  pad: 1
Ā  Ā  kernel_size: 3
Ā  Ā  stride: 1
Ā  }
}
layer {
Ā  name: "relu4_3"
Ā  type: "ReLU"
Ā  bottom: "conv4_3"
Ā  top: "conv4_3"
}
layer {
Ā  name: "pool4"
Ā  type: "Pooling"
Ā  bottom: "conv4_3"
Ā  top: "pool4"
Ā  pooling_param {
Ā  Ā  pool: MAX
Ā  Ā  kernel_size: 2
Ā  Ā  stride: 2
Ā  }
}
layer {
Ā  name: "conv5_1"
Ā  type: "Convolution"
Ā  bottom: "pool4"
Ā  top: "conv5_1"
Ā  param {
Ā  Ā  lr_mult: 1
Ā  Ā  decay_mult: 1
Ā  }
Ā  param {
Ā  Ā  lr_mult: 2
Ā  Ā  decay_mult: 0
Ā  }
Ā  convolution_param {
Ā  Ā  num_output: 512
Ā  Ā  pad: 1
Ā  Ā  kernel_size: 3
Ā  Ā  stride: 1
Ā  }
}
layer {
Ā  name: "relu5_1"
Ā  type: "ReLU"
Ā  bottom: "conv5_1"
Ā  top: "conv5_1"
}
layer {
Ā  name: "conv5_2"
Ā  type: "Convolution"
Ā  bottom: "conv5_1"
Ā  top: "conv5_2"
Ā  param {
Ā  Ā  lr_mult: 1
Ā  Ā  decay_mult: 1
Ā  }
Ā  param {
Ā  Ā  lr_mult: 2
Ā  Ā  decay_mult: 0
Ā  }
Ā  convolution_param {
Ā  Ā  num_output: 512
Ā  Ā  pad: 1
Ā  Ā  kernel_size: 3
Ā  Ā  stride: 1
Ā  }
}
layer {
Ā  name: "relu5_2"
Ā  type: "ReLU"
Ā  bottom: "conv5_2"
Ā  top: "conv5_2"
}
layer {
Ā  name: "conv5_3"
Ā  type: "Convolution"
Ā  bottom: "conv5_2"
Ā  top: "conv5_3"
Ā  param {
Ā  Ā  lr_mult: 1
Ā  Ā  decay_mult: 1
Ā  }
Ā  param {
Ā  Ā  lr_mult: 2
Ā  Ā  decay_mult: 0
Ā  }
Ā  convolution_param {
Ā  Ā  num_output: 512
Ā  Ā  pad: 1
Ā  Ā  kernel_size: 3
Ā  Ā  stride: 1
Ā  }
}
layer {
Ā  name: "relu5_3"
Ā  type: "ReLU"
Ā  bottom: "conv5_3"
Ā  top: "conv5_3"
}
layer {
Ā  name: "pool5"
Ā  type: "Pooling"
Ā  bottom: "conv5_3"
Ā  top: "pool5"
Ā  pooling_param {
Ā  Ā  pool: MAX
Ā  Ā  kernel_size: 2
Ā  Ā  stride: 2
Ā  }
}
layer {
Ā  name: "fc6"
Ā  type: "Convolution"
Ā  bottom: "pool5"
Ā  top: "fc6"
Ā  param {
Ā  Ā  lr_mult: 1
Ā  Ā  decay_mult: 1
Ā  }
Ā  param {
Ā  Ā  lr_mult: 2
Ā  Ā  decay_mult: 0
Ā  }
Ā  convolution_param {
Ā  Ā  num_output: 4096
Ā  Ā  pad: 0
Ā  Ā  kernel_size: 7
Ā  Ā  stride: 1
Ā  }
}
layer {
Ā  name: "relu6"
Ā  type: "ReLU"
Ā  bottom: "fc6"
Ā  top: "fc6"
}
layer {
Ā  name: "fc7"
Ā  type: "Convolution"
Ā  bottom: "fc6"
Ā  top: "fc7"
Ā  param {
Ā  Ā  lr_mult: 1
Ā  Ā  decay_mult: 1
Ā  }
Ā  param {
Ā  Ā  lr_mult: 2
Ā  Ā  decay_mult: 0
Ā  }
Ā  convolution_param {
Ā  Ā  num_output: 4096
Ā  Ā  pad: 0
Ā  Ā  kernel_size: 1
Ā  Ā  stride: 1
Ā  }
}
layer {
Ā  name: "relu7"
Ā  type: "ReLU"
Ā  bottom: "fc7"
Ā  top: "fc7"
}
layer {
Ā  name: "score_fr"
Ā  type: "Convolution"
Ā  bottom: "fc7"
Ā  top: "score_fr"
Ā  param {
Ā  Ā  lr_mult: 1
Ā  Ā  decay_mult: 1
Ā  }
Ā  param {
Ā  Ā  lr_mult: 2
Ā  Ā  decay_mult: 0
Ā  }
Ā  convolution_param {
Ā  Ā  num_output: 21
Ā  Ā  pad: 0
Ā  Ā  kernel_size: 1
Ā  }
}
layer {
Ā  name: "upscore2"
Ā  type: "Deconvolution"
Ā  bottom: "score_fr"
Ā  top: "upscore2"
Ā  param {
Ā  Ā  lr_mult: 0
Ā  }
Ā  convolution_param {
Ā  Ā  num_output: 21
Ā  Ā  bias_term: false
Ā  Ā  kernel_size: 4
Ā  Ā  stride: 2
Ā  }
}
layer {
Ā  name: "score_pool4"
Ā  type: "Convolution"
Ā  bottom: "pool4"
Ā  top: "score_pool4"
Ā  param {
Ā  Ā  lr_mult: 1
Ā  Ā  decay_mult: 1
Ā  }
Ā  param {
Ā  Ā  lr_mult: 2
Ā  Ā  decay_mult: 0
Ā  }
Ā  convolution_param {
Ā  Ā  num_output: 21
Ā  Ā  pad: 0
Ā  Ā  kernel_size: 1
Ā  }
}
layer {
Ā  name: "score_pool4c"
Ā  type: "Crop"
Ā  bottom: "score_pool4"
Ā  bottom: "upscore2"
Ā  top: "score_pool4c"
}
layer {
Ā  name: "fuse_pool4"
Ā  type: "Eltwise"
Ā  bottom: "upscore2"
Ā  bottom: "score_pool4c"
Ā  top: "fuse_pool4"
Ā  eltwise_param {
Ā  Ā  operation: SUM
Ā  }
}
layer {
Ā  name: "upscore_pool4"
Ā  type: "Deconvolution"
Ā  bottom: "fuse_pool4"
Ā  top: "upscore_pool4"
Ā  param {
Ā  Ā  lr_mult: 0
Ā  }
Ā  convolution_param {
Ā  Ā  num_output: 21
Ā  Ā  bias_term: false
Ā  Ā  kernel_size: 4
Ā  Ā  stride: 2
Ā  }
}
layer {
Ā  name: "score_pool3"
Ā  type: "Convolution"
Ā  bottom: "pool3"
Ā  top: "score_pool3"
Ā  param {
Ā  Ā  lr_mult: 1
Ā  Ā  decay_mult: 1
Ā  }
Ā  param {
Ā  Ā  lr_mult: 2
Ā  Ā  decay_mult: 0
Ā  }
Ā  convolution_param {
Ā  Ā  num_output: 21
Ā  Ā  pad: 0
Ā  Ā  kernel_size: 1
Ā  }
}
layer {
Ā  name: "score_pool3c"
Ā  type: "Crop"
Ā  bottom: "score_pool3"
Ā  bottom: "upscore_pool4"
Ā  top: "score_pool3c"
}
layer {
Ā  name: "fuse_pool3"
Ā  type: "Eltwise"
Ā  bottom: "upscore_pool4"
Ā  bottom: "score_pool3c"
Ā  top: "fuse_pool3"
Ā  eltwise_param {
Ā  Ā  operation: SUM
Ā  }
}
layer {
Ā  name: "upscore8"
Ā  type: "Deconvolution"
Ā  bottom: "fuse_pool3"
Ā  top: "upscore8"
Ā  param {
Ā  Ā  lr_mult: 0
Ā  }
Ā  convolution_param {
Ā  Ā  num_output: 21
Ā  Ā  bias_term: false
Ā  Ā  kernel_size: 16
Ā  Ā  stride: 8
Ā  }
}
layer {
Ā  name: "score"
Ā  type: "Crop"
Ā  bottom: "upscore8"
Ā  bottom: "data"
Ā  top: "score"
}

Can you please tell me why I'm getting this error? Actually I'm training the system for semantic segmentation. I'm loading the input through lmdb.Ā 

jas

unread,
May 11, 2016, 3:04:49ā€ÆAM5/11/16
to Caffe Users
Please can anyone tell me, the reason behind this error so that I can debug it.Ā 

Jan

unread,
May 11, 2016, 4:53:34ā€ÆAM5/11/16
to Caffe Users
I am really not sure about that, because your network does not even seem to use the "label" blob. And your data layer does not have a source defined. And it is only used in training what data layer is used for testing? I am not sure how this should possibly work...

Jan
Reply all
Reply to author
Forward
0 new messages