title: Caffe CNN Slice layer: 2nd Slice layer produces unknown bottom blob
body: <p>Caffe CNN Slice layer: 2nd Slice layer produces unknown bottom blob</p>
  
  <p>I have 2 Slice layers (see proto file). It seems the 1st one is working well; whereas the 2nd one's bottom gives "unknown bottom blob error" as following:</p>
  
  <p>In fact I am not sure the error is related to Slice or Flatten!? 
  <strong>please note that the the 2nd Slice does not even printed in the log!!!</strong></p>
  
  <p>this is the Proto file:</p>
  
  <pre><code>layer {
    name: "data"
    type: "HDF5Data"
    top: "data"
    top: "label_b4_noise"
    include {
      phase: TEST
    }
    hdf5_data_param {
      source: "data/4removal_nAmp3nData2_2e5/2048_2e5_0.01_s_val_list.txt"
      batch_size: 25
      shuffle: true
    }
  }
  layer {
    name: "data"
    type: "HDF5Data"
    top: "data"
    top: "label_b4_noise"
    include {
      phase: TRAIN
    }
    hdf5_data_param {
      source: "data/4removal_nAmp3nData2_2e5/2048_2e5_0.01_s_train_list.txt"
      batch_size: 25
      shuffle: true
    }
  }
  layer {
    name: "slic0"
    type: "Slice"
    bottom: "data"
    top: "data1"
    top: "data2"
    slice_param {
      axis: 1
      slice_point: 1
    }
  }
  layer {
    name: "conv_u0d-score_New"
    type: "Convolution"
    bottom: "data1"
    top: "conv_last"
    param {
      lr_mult: 1
      decay_mult: 1
    }
    param {
      lr_mult: 2
      decay_mult: 0
    }
    convolution_param {
      num_output: 1
      pad: 0
      kernel_size: 1
      weight_filler {
        type: "msra"
      }
     }
  }
  layer {
    name: "flat"
    type: "Flatten"
    bottom: "conv_last"
    top: "ampl"
  }
  layer {
    name: "slic1"
    type: "Slice"
    bottom: "label_b4_noise"
    top: "label_b4_noise1"
    top: "label_b4_noise2"
    slice_param {
      axis: 1
      slice_point: 1
    }
  }
  layer {
    name: "flatdata"
    type: "Flatten"
    bottom: "label_b4_noise1"
    top: "flatdata"
  }
  
  layer {
    name: "loss"
    type: "EuclideanLoss"
    bottom: "ampl"
    bottom: "flatdata"
    top: "loss"
    softmax_param {engine: CAFFE}
  }
  </code></pre>
  
  <p>this is the log file:</p>
  
  <pre><code>GL  ----------------------------------------------------------------
  res/4removal_nAmp3nData2_2e5/unet_bs10/unet data/4removal_nAmp3nData2_2e5/2048_2e5_0.01_s .
  res/4removal_nAmp3nData2_2e5/unet_bs10/unet data/4removal_nAmp3nData2_2e5/2048_2e5_0.01_s .
  WARNING: Logging before InitGoogleLogging() is written to STDERR
  I1018 11:40:22.930601 104201 upgrade_proto.cpp:67] Attempting to upgrade input file specified using deprecated input fields: res/4removal_nAmp3nData2_2e5/unet_bs10/unet_tmp/unet_deploy.txt
  I1018 11:40:22.930654 104201 upgrade_proto.cpp:70] Successfully upgraded file specified using deprecated input fields.
  W1018 11:40:22.930658 104201 upgrade_proto.cpp:72] Note that future Caffe releases will only support input layers and not input fields.
  I1018 11:40:23.237383 104201 net.cpp:51] Initializing net from parameters:
  name: "unet"
  state {
    phase: TEST
    level: 0
  }
  layer {
    name: "input"
    type: "Input"
    top: "data"
    input_param {
      shape {
        dim: 1
        dim: 2
        dim: 1
        dim: 2048
      }
    }
  }
  layer {
    name: "slic0"
    type: "Slice"
    bottom: "data"
    top: "data1"
    top: "data2"
    slice_param {
      slice_point: 1
      axis: 1
    }
  }
  layer {
    name: "conv_u0d-score_New"
    type: "Convolution"
    bottom: "data1"
    top: "conv_last"
    param {
      lr_mult: 1
      decay_mult: 1
    }
    param {
      lr_mult: 2
      decay_mult: 0
    }
    convolution_param {
      num_output: 1
      pad: 0
      kernel_size: 1
      weight_filler {
        type: "msra"
      }
    }
  }
  layer {
    name: "flat"
    type: "Flatten"
    bottom: "conv_last"
    top: "ampl"
  }
  layer {
    name: "flatdata"
    type: "Flatten"
    bottom: "label_b4_noise1"
    top: "flatdata"
  }
  F1018 11:40:23.237546 104201 insert_splits.cpp:29] Unknown bottom blob 'label_b4_noise1' (layer 'flatdata', bottom index 0)
  *** Check failure stack trace: ***
  /pbs/home/n/nhatami/sps/spectro/trainAndTest_4removal: line 101: 104201 Aborted                 $pydir/dumpLayersSize.py ${tmp_root}_deploy.txt ${oroot}
  
  /pbs/home/n/nhatami/sps/spectro/trainAndTest_4removal: line 101: 104201 Aborted                 $pydir/dumpLayersSize.py ${tmp_root}_deploy.txt ${oroot}
  Thu Oct 18 11:40:23 CEST 2018
  /usr/bin/time -v caffe -gpu 0 --log_dir=res/4removal_nAmp3nData2_2e5/unet_bs10/unet_tmp train -solver res/4removal_nAmp3nData2_2e5/unet_bs10/unet_tmp/unet_solver.txt
  Thu Oct 18 11:41:26 CEST 2018
  /pbs/home/n/nhatami/sps/spectro/trainAndTest_4removal: line 206: gnuplot: command not found
  /pbs/home/n/nhatami/sps/spectro/trainAndTest_4removal: line 225: gnuplot: command not found
  /usr/bin/time -v -o res/4removal_nAmp3nData2_2e5/unet_bs10/unet_time_test.txt python /pbs/home/n/nhatami/sps/spectro/python/test_4removal.py -eg hist -l label -mf=data/4removal_nAmp3nData2_2e5/2048_2e5_0.01_s_met.txt res/4removal_nAmp3nData2_2e5/unet_bs10/unet_deploy.txt res/4removal_nAmp3nData2_2e5/unet_bs10/unet.caffemodel data/4removal_nAmp3nData2_2e5/2048_2e5_0.01_s_test.h5 res/4removal_nAmp3nData2_2e5/unet_bs10/restest/unet_test
  WARNING: Logging before InitGoogleLogging() is written to STDERR
  W1018 11:41:42.595289 105177 _caffe.cpp:139] DEPRECATION WARNING - deprecated use of Python interface
  W1018 11:41:42.595335 105177 _caffe.cpp:140] Use this instead (with the named "weights" parameter):
  W1018 11:41:42.595338 105177 _caffe.cpp:142] Net('res/4removal_nAmp3nData2_2e5/unet_bs10/unet_deploy.txt', 1, weights='res/4removal_nAmp3nData2_2e5/unet_bs10/unet.caffemodel')
  I1018 11:41:42.597472 105177 upgrade_proto.cpp:67] Attempting to upgrade input file specified using deprecated input fields: res/4removal_nAmp3nData2_2e5/unet_bs10/unet_deploy.txt
  I1018 11:41:42.597497 105177 upgrade_proto.cpp:70] Successfully upgraded file specified using deprecated input fields.
  W1018 11:41:42.597501 105177 upgrade_proto.cpp:72] Note that future Caffe releases will only support input layers and not input fields.
  I1018 11:41:42.597535 105177 net.cpp:51] Initializing net from parameters:
  name: "unet"
  state {
    phase: TEST
    level: 0
  }
  layer {
    name: "input"
    type: "Input"
    top: "data"
    input_param {
      shape {
        dim: 1
        dim: 2
        dim: 1
        dim: 2048
      }
    }
  }
  layer {
    name: "slic0"
    type: "Slice"
    bottom: "data"
    top: "data1"
    top: "data2"
    slice_param {
      slice_point: 1
      axis: 1
    }
  }
  layer {
    name: "conv_u0d-score_New"
    type: "Convolution"
    bottom: "data1"
    top: "conv_last"
    param {
      lr_mult: 1
      decay_mult: 1
    }
    param {
      lr_mult: 2
      decay_mult: 0
    }
    convolution_param {
      num_output: 1
      pad: 0
      kernel_size: 1
      weight_filler {
        type: "msra"
      }
    }
  }
  layer {
    name: "flat"
    type: "Flatten"
    bottom: "conv_last"
    top: "ampl"
  }
  layer {
    name: "flatdata"
    type: "Flatten"
    bottom: "label_b4_noise1"
    top: "flatdata"
  }
  F1018 11:41:42.597617 105177 insert_splits.cpp:29] Unknown bottom blob 'label_b4_noise1' (layer 'flatdata', bottom index 0)
  *** Check failure stack trace: ***
  ('res/4removal_nAmp3nData2_2e5/unet_bs10/unet_deploy.txt', 'res/4removal_nAmp3nData2_2e5/unet_bs10/unet.caffemodel', 'data/4removal_nAmp3nData2_2e5/2048_2e5_0.01_s_test.h5', 'data/4removal_nAmp3nData2_2e5/2048_2e5_0.01_s_met.txt')
  </code></pre>
  
  <p>here is h5disp:</p>
  
  <pre><code>Dataset 'label_b4_noise' 
          Size:  2048x1x2x10000
          MaxSize:  2048x1x2xInf
          Datatype:   H5T_IEEE_F32LE (single)
          ChunkSize:  2048x1x2x100
          Filters:  none
          FillValue:  0.000000
  
  Dataset 'data' 
          Size:  2048x1x2x10000
          MaxSize:  2048x1x2xInf
          Datatype:   H5T_IEEE_F32LE (single)
          ChunkSize:  2048x1x2x100
          Filters:  none
          FillValue:  0.000000
  </code></pre>