Arquivos LMDB e como eles são usados para a rede caffe deep learning

Sou bastante novo no aprendizado profundo e estou tendo alguns problemas ao usar a rede caff, e deep learning. Basicamente, não encontrei nenhuma documentação explicando como resolver uma série de perguntas e problemas que estou lidando no momento.

Por favor, deixe-me explicar minha situação primeiro.

Tenho milhares de imagens e preciso fazer uma série de operações de pré-processamento nelas. Para cada operação de pré-processamento, tenho que salvar essas imagens pré-processadas como matrizes 4D e também armazenar um vetor com os rótulos das imagens. Armazenarei essas informações como arquivos LMDB que serão usados como entrada para o aprendizado profundo do caffe googlenet.

Tentei salvar minhas imagens como arquivos .HD5, mas o tamanho final do arquivo é de 80 GB, o que é impossível de processar com a memória que tenho.

Então, a outra opção é usar arquivos LMDB, certo? Sou um novato nesse formato de arquivo e agradeço sua ajuda para entender como criá-los no Matlab. Basicamente, minhas perguntas de novato são:

1- Esses arquivos LMDB têm extensão .MDB, certo? Essa extensão é a mesma usada pelo Microsoft Access? ou o formato certo é .lmdb e eles são diferentes?

2- Encontrei esta solução para criar arquivos .mdb (https://github.com/kyamagu/matlab-leveldb), ele cria o formato de arquivo necessário para o caffe?

3- Para o caffe, devo criar um arquivo .mdb para rótulos e outro para imagens ou ambos podem ser campos do mesmo arquivo .mdb?

4- Ao criar um arquivo .mdb, tenho que rotular os campos do banco de dados. Posso rotular um campo como imagem e outro como rótulo? caffe entende qual campo significa?

5- o que a função (emhttps://github.com/kyamagu/matlab-leveldb) database.put ('key1', 'value1') e database.put ('key2', 'value2') fazem? Devo salvar minhas matrizes 4-d em um campo e o vetor de rótulo em outro?