Generating LMDB for Caffe

11,244

Solution 1

You can approach this problem in two ways:

1. Using HDF5 data layer instead of LMDB. HDF5 is more flexible and can support labels the size of the image. You can see this answer for an example of constructing and using HDF5 input data layer.

2. You can have two LMDB input layers: one for the image and one for the label. Note that when you build the LMDB you must not use the 'shuffle' option in order to have the images and their labels in sync.

Update: I recently gave a more detailed answer here.

Solution 2

Check this one: http://deepdish.io/2015/04/28/creating-lmdb-in-python/

Just load all images in X and corresponding labels in Y.

Share:
11,244
Unni
Author by

Unni

Search | Indexing | Retrieval

Updated on July 25, 2022

Comments

  • Unni
    Unni almost 2 years

    I am trying to build a deep learning model for Saliency analysis using caffe (I am using the python wrapper). But I am unable to understand how to generate the lmdb data structure for this purpose. I have gone through the Imagenet and mnist examples and I understand that I should generate labels in the format

    my_test_dir/picture-foo.jpg 0
    

    But in my case, I will be labeling each pixel with 0 or 1 indicating whether that pixel is salient or not. That won't be a single label for an image.

    How to generate lmdb files for a per pixel based labeling ?

  • Unni
    Unni over 8 years
    That's really helpful. HDF5 method is quite clear. However, out of curiosity, how do I go about adding two layers following the second method ? I am not able to understand that!
  • Shai
    Shai over 8 years
    @Unni it should be quite easy: create two lmdb train_images_lmdb' and train_labels_lmdb` then you add two input layers one with top "image" and "dummy_label_1", the other with top "label_image" and "summy_label_2".
  • Unni
    Unni over 8 years
    Oh! Thanks a lot. Pretty helpful :)
  • Unni
    Unni over 8 years
    This is not even relevant to my question.
  • Nikolay Mihaylov
    Nikolay Mihaylov over 7 years
    Links to potential solutions are always welcome, but please add some details for future visitors in case the link is no longer available.
  • kollo
    kollo over 7 years
    Second link is dead, do you have another link to provide ? thanks.
  • Menx100
    Menx100 about 7 years
    The link was down for a while, it was not in the web archive but I now found it is back up again. And is now in the web archive. Thanks