NVIDIA DIGITS - Multiple Input layers

268 views Asked by At

i have a question regarding NVIDIA DIGITS Framework. So i have been using caffe without DIGITS and have used HDF5 Layers so far. There i could use multiple "top" (data_0, data_1, data_2) inputs (see code below). So i could feed the net with more then one input image. But in DIGITS only lmdb input layer works.

So is it possible to create a lmdb input layer with multiple input images??

layer {
  name: "data"
  type: "HDF5Data"
  top: "data_0"
  top: "data_1"
  top: "data_2"
  top: "label"
  hdf5_data_param {
    source: "train.txt"
    batch_size: 64
    shuffle: true
  }
}
1

There are 1 answers

0
Luke Yeager On

Sorry, that isn't supported in DIGITS.

Since DIGITS manages your datasets for you, it also sets up the data layers in your network for you. This way you don't need to copy+paste the LMDB paths into your network when you want to run a previous network on a new dataset or when you move the location of your jobs on disk. It's a decision which sacrifices flexibility for the sake of making the common case easy.

For classification, one LMDB should have two tops: "data" and "label". For other dataset types, there should be one LMDB with a single "data" top, and another LMDB with a single "label" top. If you need a more complicated data layer setup, then you'll need to either use Caffe directly or make some changes to the DIGITS source code.

DIGITS's HDF5 support is not great because Caffe's HDF5 support is not great.