numpy.memmap возвращает недостаточно памяти, в то время как доступно много - PullRequest
0 голосов
/ 10 мая 2018

Во время обычного вызова numpy.memmap() на машине с 64-битным Windows Python вызывает следующую ошибку:

OSError: [WinError 8] Not enough memory resources are available to process this command

Другой компьютер с Windows выдает ту же ошибку с другим текстом:

OSError: [WinError 8] Not enough storage is available to process this command.

Вот абстрактный код:

with open(infile, 'rb') as f:
  ......
  array = numpy.memmap(f, dtype='uint8', mode='r', offset=offset, shape=arraysize).tolist()

К этому времени Python использовал только 50 МБ памяти. Что может быть причиной нехватки памяти?

1 Ответ

0 голосов
/ 10 мая 2018

Оказывается, проблема в том, что offset + shape в вызове memmap больше, чем общий размер файла (то есть я пытаюсь прочитать размер файла больше).

Сообщение об ошибке о ресурсе памяти в этом случае немного вводит в заблуждение.

...