2014-12-24 2 views
0

h5 파일이 일반 매트 파일보다 하드 디스크에서 더 큰 공간을 차지하는 이유는 무엇입니까? 나는 항상 h5가 압축 된 종류라고 생각했습니다. 매트 파일의 크기가H5 대 매트 파일 Matlab

clear,clc 
h5create('myfile.h5','/DS1',[900 9000]); 
mydata = rand(900,9000); 
h5write('myfile.h5', '/DS1', mydata); 
data = h5read('myfile.h5','/DS1'); 

코드 2

clear,clc 
a=rand(900,9000); 
save a a; 

을 : 상세는

1을 64 비트 리눅스 우분투

코드 매트랩 2014b를 사용하여 이하 2 메가 바이트 미만 h5 파일 (61 메가 바이트)보다, 거기에 내가 h5 저장 프로세스에 대해 무시 오전 어떤 플래그가 있습니까?

답변

1

기본적으로 HDF5는 압축되지 않았지만 다른 압축 필터를 지원합니다. 당신이 발생하는 경우 GZIP는 MATLAB에서 구현, 당신은 단순히 ChuckSize에 대한 높은 0보다

h5create('myfile_gzip.h5','/DS1',[900 9000],'Deflate',9,'ChunkSize',[100,100]); 
h5write('myfile_gzip.h5', '/DS1', a); 

내가 운이 좋게 좋은 결과로 나온 바보 같은 추측을 만든 레벨을 설정하여 사용할 수 있습니다, 어쩌면 당신은 다른 값을 시도 할 수 있습니다 나쁜 결과.

+0

코드를 올바르게 따르지 않았지만 정확한 코드는 기본 매트 파일 (코드 2의 초기 질문)과 동일한 58MB의 데이터를 생성합니다. 청크 크기로 재생하려고했습니다. 더 나은 수익률을 내지 못한다. – user2375049

+0

@ user2375049 : MAT- 파일도 압축되어 있기 때문에 같은 크기에 도달하면 "좋음"이라고 비난합니다. 이러한 무작위 데이터는 압축하기가 어렵습니다. 어떤 불가사의도 기대할 수 없습니다. – Daniel