Как я могу тренировать предиктор формы dlib, используя очень большой тренировочный набор - PullRequest
0 голосов
/ 12 января 2019

Я пытаюсь использовать функцию python dlib.train_shape_predictor для обучения с использованием очень большого набора изображений (~ 50 000).

Я создал xml-файл, содержащий необходимые данные, но похоже, что train_shape_predictor загружает все изображения, на которые есть ссылки, в ОЗУ перед началом обучения. Это приводит к завершению процесса, поскольку он использует более 100 ГБ ОЗУ. Даже при урезании набора данных используется более 20 ГБ (у машины только 16 ГБ физической памяти).

Есть ли способ заставить train_shape_predictor загружать изображения по требованию вместо всех сразу?

Я использую python 3.7.2 и dlib 19.16.0, установленные через pip в macOS.

1 Ответ

0 голосов
/ 12 января 2019

Я опубликовал это как проблему на dlib github и получил ответ от автора:

Нет смысла менять код для циклического перемещения назад и вперед между диском и оперативной памятью. Это сделает обучение очень медленным. Вместо этого вы должны купить больше оперативной памяти или использовать меньшие изображения.

Как и планировалось, большие тренировочные наборы нуждаются в тоннах оперативной памяти.

...