CUDNN Ошибка в backprop для больших партий

Я реализовал комбинацию MLP, RNN, CNN. С размером пакета 420, кажется, все работает нормально (иначе я не получаю никаких ошибок). Однако, как только я увеличиваю партию до 840, я получаю следующую ошибку:

Traceback (most recent call last):
  File "train_cnn_rnn.py", line 152, in <module>
    loss.backward()
  File "/home/tbaumgae/.local/lib/python3.5/site-packages/torch/autograd/variable.py", line 146, in backward
    self._execution_engine.run_backward((self,), (gradient,), retain_variables)
RuntimeError: CUDNN_STATUS_NOT_SUPPORTED. This error may appear if you passed in a non-contiguous input.

Передний проход, кажется, работает хорошо. Я проверяю все переменные, являются ли они смежными, и они есть. Кроме того, мой прогноз и цель для расчета потерь являются смежными, а также возвращаемые потери. Но тогда эта ошибка возникает при звонке backward(), Есть идеи, почему это произойдет?

CUDA версия 8.0.61

Python 3.5.2

Сводка комментариев:

  • В одной последовательности 210 изображений, поэтому размер моей партии составляет 210. Каждое изображение имеет форму [3, 250, 250],
  • Я использую PyTorch в обратном направлении, сам не реализовал никакого обратного метода.

0 ответов

Другие вопросы по тегам