Как правильно генерировать файлы lmdb из собственного набора данных с помощью caffe?

Я пытаюсь создать lmdbs для обучения CNN с помощью Caffe.

Я использовал в качестве набора данных Stanford Dogs Dataset. После загрузки набора данных я подготовил набор данных для обучения и набор тестовых данных. Я сохранил конфигурацию в файлах train.txt и val.txt.

Затем я попытался сгенерировать файлы lmdb с помощью следующих двух команд на моей консоли:

GLOG_logtostderr=1 /home/bme/caffe/build/tools/convert_imageset \
    --resize_height=200 --resize_width=200 --shuffle  \
    /home/bme/caffe/data/dogs/data/ \
    /home/bme/caffe/data/dogs/dogs_data/train.txt \
    /home/bme/caffe/examples/dogs/dogs_train_lmdb

GLOG_logtostderr=1 /home/bme/caffe/build/tools/convert_imageset \
    --resize_height=200 --resize_width=200 --shuffle  \
    /home/bme/caffe/data/dogs/data/ \
    /home/bme/caffe/data/dogs/dogs_data/val.txt \
    /home/bme/caffe/examples/dogs/dogs_val_lmdb

Но он произвел эти ошибки для первых команд:

I0331 18:13:39.625823  8810 convert_imageset.cpp:86] Shuffling data
I0331 18:13:39.627516  8810 convert_imageset.cpp:89] A total of 17493 images.
I0331 18:13:39.627708  8810 db_lmdb.cpp:35] Opened lmdb /home/bme/caffe/examples/dogs/dogs_train_lmdb
E0331 18:13:39.627734  8810 io.cpp:80] Could not open or find file /home/bme/caffe/data/dogs/data/108_n02111889-Samoyed17.jpg 108   
E0331 18:13:39.627743  8810 io.cpp:80] Could not open or find file /home/bme/caffe/data/dogs/data/12_n02104365-schipperke145.jpg 12   
E0331 18:13:39.627753  8810 io.cpp:80] Could not open or find file /home/bme/caffe/data/dogs/data/17_n02113712-miniature_poodle107.jpg 17   
E0331 18:13:39.627760  8810 io.cpp:80] Could not open or find file /home/bme/caffe/data/dogs/data/12_n02104365-schipperke63.jpg 12   
E0331 18:13:39.627768  8810 io.cpp:80] Could not open or find file /home/bme/caffe/data/dogs/data/97_n02105056-groenendael102.jpg 97   
E0331 18:13:39.627774  8810 io.cpp:80] Could not open or find file /home/bme/caffe/data/dogs/data/74_n02096585-Boston_bull38.jpg 74   
E0331 18:13:39.627781  8810 io.cpp:80] Could not open or find file /home/bme/caffe/data/dogs/data/4_n02113799-standard_poodle145.jpg 4   
E0331 18:13:39.627789  8810 io.cpp:80] Could not open or find file /home/bme/caffe/data/dogs/data/22_n02097047-miniature_schnauzer27.jpg 22   
E0331 18:13:39.627797  8810 io.cpp:80] Could not open or find file /home/bme/caffe/data/dogs/data/80_n02107312-miniature_pinscher167.jpg 80   
E0331 18:13:39.627805  8810 io.cpp:80] Could not open or find file /home/bme/caffe/data/dogs/data/95_n02091134-whippet42.jpg 95 

Ошибки для второй команды:

I0331 18:13:39.625823  8810 convert_imageset.cpp:86] Shuffling data
I0331 18:13:39.627516  8810 convert_imageset.cpp:89] A total of 17493 images.
I0331 18:13:39.627708  8810 db_lmdb.cpp:35] Opened lmdb /home/bme/caffe/examples/dogs/dogs_train_lmdb
E0331 18:13:39.627734  8810 io.cpp:80] Could not open or find file /home/bme/caffe/data/dogs/data/108_n02111889-Samoyed17.jpg 108   
E0331 18:13:39.627743  8810 io.cpp:80] Could not open or find file /home/bme/caffe/data/dogs/data/12_n02104365-schipperke145.jpg 12   
E0331 18:13:39.627753  8810 io.cpp:80] Could not open or find file /home/bme/caffe/data/dogs/data/17_n02113712-miniature_poodle107.jpg 17   
E0331 18:13:39.627760  8810 io.cpp:80] Could not open or find file /home/bme/caffe/data/dogs/data/12_n02104365-schipperke63.jpg 12   
E0331 18:13:39.627768  8810 io.cpp:80] Could not open or find file /home/bme/caffe/data/dogs/data/97_n02105056-groenendael102.jpg 97   
E0331 18:13:39.627774  8810 io.cpp:80] Could not open or find file /home/bme/caffe/data/dogs/data/74_n02096585-Boston_bull38.jpg 74   
E0331 18:13:39.627781  8810 io.cpp:80] Could not open or find file /home/bme/caffe/data/dogs/data/4_n02113799-standard_poodle145.jpg 4   
E0331 18:13:39.627789  8810 io.cpp:80] Could not open or find file /home/bme/caffe/data/dogs/data/22_n02097047-miniature_schnauzer27.jpg 22   
E0331 18:13:39.627797  8810 io.cpp:80] Could not open or find file /home/bme/caffe/data/dogs/data/80_n02107312-miniature_pinscher167.jpg 80   
E0331 18:13:39.627805  8810 io.cpp:80] Could not open or find file /home/bme/caffe/data/dogs/data/95_n02091134-whippet42.jpg 95   
E0331 18:13:39.627812  8810 io.cpp:80] Could not open or find file /home/bme/caffe/data/dogs/data/56_n02101556-clumber86.jpg 56   
E0331 18:13:39.627820  8810 io.cpp:80] Could not open or find file /home/bme/caffe/data/dogs/data/26_n02085782-Japanese_spaniel36.jpg 26  

Я попытался решить проблему, изменив права доступа к файлам train.txt и val.txt. Но те же ошибки остались. Итак, любые предложения по устранению этой проблемы.

Спасибо


person user7417788    schedule 31.03.2017    source источник


Ответы (1)


Опубликованные вами результаты предназначены для создания тренировочного набора (они одинаковы). Кажется, что из 17 493 изображений у вас есть 12 поврежденных файлов, которые caffe не может найти/открыть.
Убедитесь, что эти файлы существуют и не повреждены.

person Shai    schedule 02.04.2017
comment
на самом деле ошибок больше, чем эти 12. Я проверил изображения, и они не повреждены. - person user7417788; 03.04.2017
comment
@ user7417788 сколько еще? если его O (10) повреждено по сравнению с общим количеством O (20 КБ), вы можете открыть проблемные фотографии в третьем приложении и перезаписать фотографии на диск, чтобы убедиться, что файлы не повреждены. - person Shai; 03.04.2017
comment
На самом деле ошибок более 1000. Итак, я сократил набор данных до 10 изображений, принадлежащих 2 классам. Но та же ошибка остается. Он изменил только одно изображение в формате lmdb. - person user7417788; 03.04.2017