Огромный файл HDF5 в Matlab и его импорт в Python - PullRequest
0 голосов
/ 11 февраля 2019

Я создал файл hdf5 в Matlab с размером матрицы (1 x 19 000 000).Файл имел размер 150 мегабайт.

  1. Мой вопрос о том, как найти идеальный размер куска и коэффициент дефляции?После игры я обнаружил, что размер фрагмента 1 x 1 000 000 с дефлятом, установленным на 7, достигает файла 100 мегабайт.

  2. Вторая проблема заключается в том, что я не могу импортировать этот файл в Python

Matlab

h5create('Xn.h5','/rawdata',size (data),'ChunkSize',[1 1000000],'Deflate',7 )

Python

import h5py
filename = 'Xn.h5'
f = h5py.File(filename, 'r')

print("Keys: %s" % f.keys())

Я ожидал, что Python будет обрабатывать данные гладко, как Matlab, но этого не произошло

1 Ответ

0 голосов
/ 13 февраля 2019

Хорошо, как кажется, этот вопрос больше связан с вопросом «Как мне получить доступ к моим данным в контейнере hdf5 в python?».

Вы найдете очень хорошее краткое руководство здесь .

Процесс доступа к вашим данным работает следующим образом:

import h5py
f = h5py.File(filename, 'r') 
key = list(f.keys())[0]
dataset = f[key]

# To retrieve e.g. the first 10 elements of a 1D dataset execute
data = dataset[0:9]
...