Как я могу импортировать внешние готовые файлы.LMDB в NVIDIA DIGITS?
У меня есть несколько баз данных, и мне нужно классифицировать их по NVIDIA DIGITS. Но импорт моих больших данных в DIGITS занимает много времени ( 2-4 дня)!!! Представьте, что я преобразовал 2 набора изображений в формы.lmdb, такие как:
data1 data2
--> folder train1_db: data.mdb, lock.mdb --> folder train2_db: data.mdb, lock.mdb
--> folder val1_db: data.mdb, lock.mdb --> folder val2_db: data.mdb, lock.mdb
--> mean.binaryproto --> mean.binaryproto
--> some other txt files... --> some other txt files...
Теперь мне нужно объединить эти две базы данных.lmdb и сэкономить время. Так что я сделал это отдельно в Python от слияния двух баз данных LMDB для подачи в сеть (caffe)
и у меня есть третий набор данных, содержащий папки: train_db и val_db, каждая из которых содержит файлы data.mdb и lock.mdb, как указано выше.
data3
--> folder train3_db: train1_db + train2_db
--> folder va3_db: val_db + va2_db
Мне нужно импортировать их в ЦИФРЫ, чтобы обучить их работе с ними.
Мои вопросы:
1- я должен импортировать folders
train_db и val_db в image LMDB
часть?
2- Я искал label LMDB
но я не понял, что мне делать в этой части. Не могли бы вы четко объяснить, что я должен делать?
Большое спасибо за вашу помощь.
1 ответ
Вы должны создать их так же, как они. Я сначала прочитал их, а затем создал то, что они сделали.
Это работает, если вы меняете существующий Classification DataSet с той же структурой класса. Вам нужно отредактировать файл pickle, чтобы обновить общее количество изображений для train и val в 2 местах. Вы должны генерировать файлы lmdb так же, как они есть.
Кстати... Конечно, они не рекомендуют это: проверить: https://github.com/NVIDIA/DIGITS/issues/1035
Вот мой код: https://github.com/GemHunt/lmdb-testing/blob/master/create_lmdb_rotate_whole_image.py