#python-3.x #object-detection #chainercv
#python-3.x #обнаружение объекта #chainercv
Вопрос:
Я использовал SSD300 (предварительно обученную модель imagenet) для обнаружения и распознавания для классификации двух классов: [Баскетбол-ChainerCV] (https://github.com/atom2k17/Basketball-ChainerCV/blob/master/basketballproject.py ). Обучение и прогнозы хороши. Но когда я использую SSD512 (предварительно подготовленную модель imagenet) во время обучения, я получаю следующую ошибку:
/usr/local/lib/python3.6/dist-
packages/chainer/functions/connection/convolution_2d.py in
_forward_cudnn(self, x, W, b, y)
226 cuda.cudnn.convolution_forward(
227 x, W, b, y, pad, stride, dilation, self.groups,
228 auto_tune=auto_tune, tensor_core=tensor_core)
229 return y,
230
cupy/cudnn.pyx in cupy.cudnn.convolution_forward()
cupy/cudnn.pyx in cupy.cudnn._find_algorithm_fwd()
cupy/cuda/memory.pyx in cupy.cuda.memory.alloc()
cupy/cuda/memory.pyx in cupy.cuda.memory.MemoryPool.malloc()
cupy/cuda/memory.pyx in cupy.cuda.memory.MemoryPool.malloc()
cupy/cuda/memory.pyx in cupy.cuda.memory.SingleDeviceMemoryPool.malloc()
cupy/cuda/memory.pyx in cupy.cuda.memory.SingleDeviceMemoryPool._malloc()
cupy/cuda/memory.pyx in cupy.cuda.memory._try_malloc()
OutOfMemoryError: out of memory to allocate 1073741824 bytes (total
12092240384 bytes)
Я использую среду графического процессора Google Colab. Приветствуются любые указания на решение этой проблемы.
Комментарии:
1. Это ошибка нехватки памяти, вы пытались уменьшить размер пакета или как насчет уменьшения размера входного изображения??
2. Привет @corochann.. Я уменьшил размер пакета с 32 до 4.My размер изображения такой, какой он есть -320 * 240 .. но во время обучения потери отображаются как nan, а проверка — как 0. Это все еще проблема с памятью?
3. Нет, это другая проблема. Я предполагаю, что исходный вопрос решен. Когда потеря обучения достигает nan, пожалуйста, проверьте, что входные данные не содержат значения nan, а диапазон входных данных правильно масштабирован.
Ответ №1:
Как было предложено в комментариях @corochann, эта проблема с памятью решена, когда trainer.run() был выполнен, приняв batch_size равным 4 из 32. Поэтому решением здесь было использование меньшего размера пакета.