Zmiana rozmiaru tablic numpy.memmap

Pracuję z wieloma dużymi tablicami numpy, a ponieważ zaczęły one ostatnio żuć zbyt dużo pamięci, chciałem je zastąpićnumpy.memmap instancje. Problem polega na tym, że od czasu do czasu muszę zmieniać rozmiar macierzy, a najlepiej robić to na miejscu. To działało całkiem dobrze ze zwykłymi tablicami, ale próbowanie na memmaps narzeka, że ​​dane mogą być udostępniane, a nawet wyłączenie refcheck nie pomaga.

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)
<ipython-input-41-f1546111a7a1> in <module>()
----> 1 a.resize(20, refcheck=False)

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

Zmiana rozmiaru podstawowego bufora mmap działa doskonale. Problem polega na tym, jak odzwierciedlić te zmiany w obiekcie tablicy. Widziałem toobejście, ale niestety nie zmienia rozmiaru tablicy na miejscu. Jest też trochęnumeryczna dokumentacja o zmianie rozmiaru mmaps, ale najwyraźniej nie działa, przynajmniej w wersji 1.8.0. Jakieś inne pomysły, jak zastąpić wbudowane kontrolki zmiany rozmiaru?

questionAnswers(2)

yourAnswerToTheQuestion