2017-01-17 13 views
1

Я пытался запустить fcn по моим данным в caffe. Я смог преобразовать свои наборы изображений в lmdbconvert_imageset встроенная функция caffe. Однако, как только я хотел тренировать net, он дал мне следующую ошибку:Можно ли уменьшить количество изображений в пакетном режиме в convert_imageset.cpp, чтобы избавиться от памяти GPU?

Check failed: error == cudaSuccess (2 vs. 0) out of memory 
*** Check failure stack trace: *** 
..... 
Aborted (core dumped) 

Я прошел через много интернет-ресурсов для решения провал памяти, но большинство из них предполагает сокращение размера партии. Даже, я уменьшил размер изображений до 256x256. Я еще не мог решить эту проблему. Я проверил память GPU с помощью этой команды nvidia-smi, а модель Nvidia GT 730 и память 1998 MiB. Поскольку размер партии в train_val.prototxt равен 1, я не могу делать ничего в train_val.prototxt. Так что мои вопросы:

  1. Глядя на файл журнал в терминале, я понял, что всякий раз, когда convert_imageset преобразования данных в LMDB, он принимает 1000 изображения в группе. Возможно ли изменить это число в строке 143 и 151 от convert_imageset.cpp до меньшего (например, 2; взять по два изображения за раз), перекомпилировать caffe, а затем конвертировать изображения в lmdb с помощью convert_imageset? Имеет ли это смысл?
  2. Если ответ на вопрос 1: да, как я могу скомпилировать caffe снова, следует удалить build папку и снова сделать установку caffe с царапины?
  3. Как caffe обрабатывает данные LMDB? Похоже, что вы принимаете партию этих 1000 изображений, показывая при запуске convert_imagenet?

Ваша помощь очень ценится. Благодаря ...

ответ

0
  1. AFAIK, нет никакого эффекта на количество записей, приверженных lmdb при каждой сделке (txn->Commit();) на CUDA из памяти.

  2. Если вы хотите перекомпилировать кофе по какой-либо причине, просто запустите make clean. Это очистит все и позволит вам скомпилировать с нуля.

  3. Опять же, AFAIK, доступ к камере lmdb batch_size изображений за раз, независимо от размера транзакции, используемого при написании набора данных.

Вы уверены, что batch_size установлен в 1 для оба ПОЕЗДА и ИСПЫТАНИЙ фаз?

+0

Большое вам спасибо за информацию. Да, это семантическая сегментация FCN, размер партии которой равен 1. Есть ли какое-либо решение для моей проблемы? –

+0

@ S.EB купить новый графический процессор с большей памятью. : | – Shai

+0

спасибо за помощь –