Я сохранил много файлов данных в формате .npz, чтобы сэкономить место на диске (savez_compressed
). Каждый файл сохраняется как один массив, поэтому при использовании функции загрузки numpy он возвращает ключ в словарь, содержащий массив.Быстрый доступ к numpy npz data
Как вы можете быстро сохранить этот массив в виде массива вместо словаря.
Например
data = []
datum = np.load('file.npz')
key = datum.keys()[0]
data.append([datum[key]])
При профилировании это, мой код провел большую часть времени с использованием метода get
для словаря.
Если он был сохранен как файл npy, ему не нужен метод get
и он намного быстрее.
data = []
data.append([np.load('file.npz')])
Я думал, что, загрузив файл, данные уже находятся в памяти в обоих случаях. savez_compressed
, похоже, не имеет возможности сохранять только как массив. Возможно ли это или есть способ ускорить загрузку?