Вы можете использовать np.savez_compressed
, что значительно сократит массив и уменьшит размер файла:
# create sample array:
>>> x = np.random.randint(1, 30, size=(252, 512, 512, 6))
>>> np.savez("test.npz", x)
# test.npz is 2.95GB
>>> np.savez_compressed("test2.npz", arr = x)
# test2.npz is 369MB
Чтобы перезагрузить массив, используйте
>>> loaded = np.load("test2.npz")
>>> x2 = loaded["arr"]
И вы можете проверить, что x2 (ваш повторно загруженный массив) равен x (ваш исходный массив)
>>> np.array_equal(x, x2)
True