Я создал базу данных LMDB, используя форк SSD-Caffe здесь. Я успешно создал каталоги VOC LMDB trainval/test LMDB и могу обучить модель.
Однако во время обучения загрузка данных из базы данных LMDB занимает необычно много времени. Например, при профилировании с использованием функции Caffe time
с помощью этой команды:
ssdcaffe time --model "jobs/VGGNet/VOC0712/SSD_300x300/train.prototxt" --gpu 0 --iterations 20
Я понимаю, что проход вперед занимает в среднем 8,9 с, а проход назад - в среднем 0,5 с. При послойной проверке уровень ввода данных занимает большую часть этого времени — 8,7 с. Смотри ниже:
I1129 10:14:11.094445 8011 caffe.cpp:404] data forward: 8660.38 ms.
...
I1129 10:14:11.095383 8011 caffe.cpp:412] Average Forward pass: 8933.31 ms.
I1129 10:14:11.095389 8011 caffe.cpp:414] Average Backward pass: 519.549 ms.
Если я уменьшу размер пакета вдвое с 32 до 16, то время слоя вставки данных уменьшится примерно вдвое:
I1129 10:20:07.975527 8093 caffe.cpp:404] data forward: 3906.53 ms.
Это явно не предполагаемая скорость, и что-то не так. Любая помощь будет принята с благодарностью!