Как применить функции numpy и memmap для создания огромной карты памяти на диске? - PullRequest
0 голосов
/ 15 мая 2019

Я использую код Python (V.3.6.5 64-bit) в Windows10 (64-bit).Я хочу применить функции numpy и memmap для создания карты памяти на диске.Причина в том, что мой массив огромен и в противном случае выдает ошибку памяти.В случае, если я использую float32

Losses = np.memmap('mmp/losses.dat', dtype=np.float32,mode='w+', shape=(5E6, 2000))

, тогда я получаю следующее сообщение:

TypeError: buffer is too small for requested array

, и если я изменяю его на следующее:

Losses = np.memmap('mmp/losses.dat', dtype=np.float64, mode='w+', shape=(5E6, 2000))

Я получаю следующее сообщение об ошибке:

    fid.seek(bytes - 1, 0)
OSError: [Errno 22] Invalid argument

Как мне получить больше места на диске или, другими словами, использовать жесткий диск как «RAM»?Минимальный исполняемый пример:

import numpy as np
from numpy.lib.format import open_memmap
Losses = np.memmap('mmp/losses.dat', dtype=np.float64, mode='w+', shape=(5000000, 2000))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...