Вопрос
Помогите, пожалуйста, найти способ восстановить массив numpy из файла .npy с помощью карты памяти Numpy.
Данные MNIST
from sklearn.datasets import fetch_openml
mnist = fetch_openml('mnist_784', version=1)
# Split data into training and test
X, y = mnist["data"], mnist["target"]
X_train, X_test, y_train, y_test = X[:60000], X[60000:], y[:60000], y[60000:]
print(X_train[9179][599])
-----> 200.0
Сохранить в .npy
import numpy as np
np.save("X_train.npy", X_train)
Восстановление из npy в memmap
X_mm = np.memmap('X_train.npy', dtype=type(X_train[0][0]), mode="r", shape=(X_train.shape))
print(X_mm[9179][599])
-----> 0.0 (data is not restored)
from numpy.lib.format import open_memmap
X_mm = open_memmap('X_train.npy', mode='r', dtype=type(X_train[0][0]), shape=(X_train.shape))
X_mm[9179][599]
-----> 0.0 (data is not restored)
numpy load
Если используется numpy load, данные могут быть восстановлены. Следовательно, речь идет о memmap.
X_mm = np.load('X_train.npy')
X_mm[9179][599]
-----> 200.0