Большой дисковый массив для numpy

У меня есть разреженный массив, который кажется слишком большим для эффективной обработки в память (2000x2500000, плавающая ). Я могу сформировать его в разреженный массив lil _(scipy ), но если я попытаюсь вывести сжатый разреженный массив столбцов или строк (A.tocsc (), A.tocsr ()), моя машина запустится нехватка памяти (, а также существует серьезное несоответствие между данными в текстовом файле 4,4 ГБ и массивом lil размером 12 ГБ -было бы неплохо иметь формат диска, который более точно соответствует размеру необработанных данных ).

Возможно, в будущем я буду обрабатывать еще большие массивы.

Вопрос :Как лучше всего обрабатывать большие дисковые массивы таким образом, чтобы можно было использовать обычные функции numpy прозрачным образом?. Например, суммы по строкам и столбцам, векторные произведения, максимум, минимум, нарезка и т. д.?

Можно ли использовать pytables? есть хороший (быстрый )sql -слой промежуточного программного обеспечения numpy? секрет на дисковом массиве, встроенный в numpy?

В прошлом с (чуть меньшими )массивами я всегда просто пикел -кэшировал длинные результаты вычислений на диск. Это работает, когда массивы в конечном итоге <4G или около того, но больше не являются надежными.

6
задан Anthony Bak 25 April 2012 в 22:33
поделиться