Я пытался запустить fcn по моим данным в caffe. Я смог преобразовать свои наборы изображений в lmdb
convert_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
. Так что мои вопросы:
- Глядя на файл журнал в терминале, я понял, что всякий раз, когда
convert_imageset
преобразования данных в LMDB, он принимает 1000 изображения в группе. Возможно ли изменить это число в строке143
и151
отconvert_imageset.cpp
до меньшего (например, 2; взять по два изображения за раз), перекомпилировать caffe, а затем конвертировать изображения в lmdb с помощью convert_imageset? Имеет ли это смысл? - Если ответ на вопрос 1: да, как я могу скомпилировать caffe снова, следует удалить
build
папку и снова сделать установку caffe с царапины? - Как caffe обрабатывает данные LMDB? Похоже, что вы принимаете партию этих 1000 изображений, показывая при запуске convert_imagenet?
Ваша помощь очень ценится. Благодаря ...
Большое вам спасибо за информацию. Да, это семантическая сегментация FCN, размер партии которой равен 1. Есть ли какое-либо решение для моей проблемы? –
@ S.EB купить новый графический процессор с большей памятью. : | – Shai
спасибо за помощь –