Изменение размера массивов numpy.memmap

я работаю с кучей больших массивов, и в последнее время они начали перегружать память, я хотел заменить их наnumpy.memmap экземпляров. Проблема в том, что время от времени мне приходится изменять размеры массивов, и яЯ бы предпочел сделать это на месте. Это работало довольно хорошо с обычными массивами, но попытка этого на memmaps жалуется, что данные могут быть общими, и даже отключение повторной проверки не помогает.

a = np.arange(10)
a.resize(20)
a
>>> array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

a = np.memmap('bla.bin', dtype=int)
a
>>> memmap([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

a.resize(20, refcheck=False)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
 in ()
----> 1 a.resize(20, refcheck=False)

ValueError: cannot resize this array: it does not own its data

Изменение размера базового буфера mmap работает отлично. Проблема в том, как отразить эти изменения в объекте массива. Я'видел этообходной путьно, к сожалению, это не такизменить размер массива на месте. Есть также некоторыепустая документация о изменении размера карт, но этоs явно не работает, по крайней мере, с версией 1.8.0. Любые другие идеи, как переопределить встроенные проверки изменения размера?

Ответы на вопрос(2)

Ваш ответ на вопрос