h5py에 대한 입력 및 출력 numpy 배열
이 출력 크기 가 지정된 행렬이고 항목이 모두 유형 인 파이썬가 코드 float
있습니다. 신뢰로 저장 .dat
하면 파일 크기는 500MB 정도입니다. 사용 h5py
하면 파일 크기가 훨씬 든다는 것을 읽었습니다 . 그래서 2D numpy 배열이 A
. h5py 파일에 어떻게 저장 저장합니까? 또한 배열을 조작해야하는 동일한 파일을 읽고 다른 코드에 numpy 배열로 배치하는 방법은 무엇입니까?
h5py는 데이터 세트 및 그룹 모델을 제공합니다 . 전자는 기본적으로 배열이고 후자는 디렉토리라고 생각할 수 있습니다. 각각 이름이 지정됩니다. API 및 예제에 대한 문서를 확인해야합니다.
http://docs.h5py.org/en/latest/quick.html
모든 데이터를 미리 만들고 hdf5 파일에 저장하려는 간단한 예는 다음과 가능합니다.
In [1]: import numpy as np
In [2]: import h5py
In [3]: a = np.random.random(size=(100,20))
In [4]: h5f = h5py.File('data.h5', 'w')
In [5]: h5f.create_dataset('dataset_1', data=a)
Out[5]: <HDF5 dataset "dataset_1": shape (100, 20), type "<f8">
In [6]: h5f.close()
그런 다음 다음을 사용하여 해당 데이터를 다시로드 할 수 있습니다. '
In [10]: h5f = h5py.File('data.h5','r')
In [11]: b = h5f['dataset_1'][:]
In [12]: h5f.close()
In [13]: np.allclose(a,b)
Out[13]: True
문서를 확실히 확인하십시오.
hdf5 파일에 쓰기는 h5py 또는 pytables에 따라 사양 사양 (각각 hdf5 파일 위에있는 다른 Python API가 있음)입니다. 또한 기본적으로 같은 NumPy와 제공하는 다른 간단한 바이너리 형식을 찾아야한다 np.save
, np.savez
등 :
http://docs.scipy.org/doc/numpy/reference/routines.io.html
파일 열기 /를 닫기 처리하고 메모리 누수를 방지 하는 더 높은 방법 :
예습 :
import numpy as np
import h5py
data_to_write = np.random.random(size=(100,20)) # or some such
쓰다 :
with h5py.File('name-of-file.h5', 'w') as hf:
hf.create_dataset("name-of-dataset", data=data_to_write)
읽다 :
with h5py.File('name-of-file.h5', 'r') as hf:
data = hf['name-of-dataset'][:]
참고 URL : https://stackoverflow.com/questions/20928136/input-and-output-numpy-arrays-to-h5py
'IT' 카테고리의 다른 글
Heroku의 두 앱간에 데이터베이스 공유 (0) | 2020.09.13 |
---|---|
사용자에게 Chrome 확장 프로그램이 설치되어 있는지 확인 (0) | 2020.09.13 |
사용자가 PHP의 localhost에 어떻게 알 수 있습니까? (0) | 2020.09.13 |
Rails html.erb 파일에서 줄을 주석 처리하는 방법은 무엇입니까? (0) | 2020.09.13 |
Coffeescript — 자체 시작 익명 함수를 만드는 방법은 무엇입니까? (0) | 2020.09.13 |