2015-11-11 2 views
2

Мне нужно классифицировать изображения в одном из классов 2000.CNN с 2000 классами?

Я использую Nvidia DIGITS + caffe (GoogLeNet) и предоставил образцы 10K для каждого класса (так что колоссальные 20 миллионов изображений, данные ~ 1Tb!). Но сама задача подготовки данных («создать db») составляет 102 дня, и я содрогаюсь, чтобы подумать, каково будет фактическое время обучения, если эта оценка будет правильной.

Каков наилучший способ решения этой задачи? должен ли я разбивать набор данных на 3-4 модели? и использовать их отдельно? Использовать меньший набор данных и подвергать риску меньше точности? что-то другое?

Спасибо, что помогли новичку.

ответ

2

Полученные данные обучения! Это самая сложная часть всего процесса, не сдавайтесь!

Попробуйте выполнить задачу создания данных в шагах и перенести их на параболирование. Обучение займет много времени (в зависимости от вашего GPU), но вы должны быть терпеливыми.

0

Я думаю, вы можете использовать ImageDataLayer, а не LMDB или levelDB.

+1

Почему downvote ... Как сказал автор: «Но сама задача подготовки данных (создать db) оценивается в 102 дня», используя ImageDataLayer, у вас нет базы данных creat lmdb и просто используйте txt-файл для обучение. По моему опыту, скорость imagedatalayer также очень быстрая. –

0

Во-первых, вы должны знать, какой сценарий вы должны использовать LMDB/LevelDB и какие преимущества вы получаете (особенно, обучение в parallel.) Но что вещи, которые вы встретите в том, что создание LMDB большой и медленный, и вы также должны для использования SSD instead of HDD, чтобы уменьшить трудоемкую проблему.

Во-вторых, когда вам нужно только обучить CNN с небольшими наборами данных (например < 2M изображений), вы можете просто использовать ImageDataLayer же, как @kli_nlpr сказал.

Наконец, так же, как сказал @Shai, самая сложная задача всего процесса всегда подготовка данных и проверка обучение результат, является ли то, что вы ожидали, если это не вы должны проверить данные, подготовка данных снова или проверить конфигурацию обучения. Если вы пробовали все возможные решения, тем не менее, вы все равно чувствуете себя медленными, и можете попытаться изменить свое оборудование как GPU cluster.

Смежные вопросы