Main Content

이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

h5create

HDF5 데이터셋 생성

구문

h5create(filename,ds,sz)
h5create(filename,ds,sz,Name,Value)

설명

h5create(filename,ds,sz)는 이름이 HDF5 파일 filename에서의 전체 위치를 포함하고 sz로 지정된 크기를 갖는 데이터셋 ds를 만듭니다.

h5create(filename,ds,sz,Name,Value)는 하나 이상의 선택적 이름-값 쌍 인수를 지정합니다.

예를 들어, 'ChunkSize',[5 5]는 HDF5 파일에 개별적으로 저장이 가능한, 데이터셋의 5x5 청크를 지정합니다.

예제

모두 축소

전체 경로가 '/g1/g2/myDataset'으로 지정된 고정된 크기 100x200x300의 데이터셋 'myDataset'을 만듭니다.

h5create('myfile.h5','/g1/g2/myDataset',[100 200 300])

'myDataset'에 데이터를 씁니다. 'myDataset'의 차원이 고정되어 있으므로 데이터셋에 쓸 데이터의 양은 데이터셋의 크기와 일치해야 합니다.

mydata = ones(100,200,300);
h5write('myfile.h5','/g1/g2/myDataset',mydata)
h5disp('myfile.h5')
HDF5 myfile.h5 
Group '/' 
    Group '/g1' 
        Group '/g1/g2' 
            Dataset 'myDataset' 
                Size:  100x200x300
                MaxSize:  100x200x300
                Datatype:   H5T_IEEE_F64LE (double)
                ChunkSize:  []
                Filters:  none
                FillValue:  0.000000

단정밀도 1000x2000 데이터셋을 만들고 가장 높은 수준의 압축을 적용합니다. HDF5 압축을 적용할 때는 청크 저장을 사용해야 합니다.

h5create('myfile.h5','/myDataset2',[1000 2000],'Datatype','single', ...
          'ChunkSize',[50 80],'Deflate',9)

전체 HDF5 파일의 내용을 표시합니다.

h5disp('myfile.h5')
HDF5 myfile.h5 
Group '/' 
    Dataset 'myDataset2' 
        Size:  1000x2000
        MaxSize:  1000x2000
        Datatype:   H5T_IEEE_F32LE (single)
        ChunkSize:  50x80
        Filters:  deflate(9)
        FillValue:  0.000000

두 번째 차원이 무제한인 2차원 데이터셋 'myDataset3'을 만듭니다. 데이터셋의 임의 차원을 Inf로 설정하려면 ChunkSize를 지정해야 합니다.

h5create('myfile.h5','/myDataset3',[200 Inf],'ChunkSize',[20 20])

'/myDataset3'에 데이터를 씁니다. 두 번째 차원이 무제한이므로 '/myDataset3'에 두 번째 차원을 따라 임의 크기의 데이터를 쓸 수 있습니다.

mydata = rand(200,500);
h5write('myfile.h5','/myDataset3',mydata,[1 1],[200 500])

HDF5 파일의 전체 내용을 표시합니다.

h5disp('myfile.h5')
HDF5 myfile.h5 
Group '/' 
    Dataset 'myDataset3' 
        Size:  200x500
        MaxSize:  200xInf
        Datatype:   H5T_IEEE_F64LE (double)
        ChunkSize:  20x20
        Filters:  none
        FillValue:  0.000000

입력 인수

모두 축소

파일 이름으로, HDF5 파일의 이름을 포함하는 문자형 벡터 또는 string형 스칼라로 지정됩니다. filename이 존재하지 않는 경우 h5create가 이를 생성합니다. 기존 HDF5 파일 이름과 새 데이터셋 이름을 지정할 경우 h5create는 기존 HDF5 파일에 새 데이터셋을 추가합니다.

데이터셋 이름으로, 생성할 데이터셋의 전체 경로 이름을 포함하는 문자형 벡터 또는 string형 스칼라로 지정됩니다. 데이터셋 이름에 이전에 존재하지 않은 중간 그룹을 지정할 경우 h5create는 이를 생성합니다.

데이터셋 크기로, 행 벡터로 지정됩니다. 무제한 차원을 지정하려면 sz의 대응하는 요소를 Inf로 지정하십시오.

이름-값 쌍의 인수

선택적으로 Name,Value 인수가 쉼표로 구분되어 지정됩니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. Name은 따옴표 안에 표시해야 합니다. Name1,Value1,...,NameN,ValueN과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다.

예: 'Deflate','9'

데이터셋의 데이터형으로, 'Datatype'과 함께 다음 MATLAB® 데이터형 중 하나가 쉼표로 구분되어 지정됩니다.

  • 'double'

  • 'single'

  • 'uint64'

  • 'int64'

  • 'uint32'

  • 'int32'

  • 'uint16'

  • 'int16'

  • 'uint8'

  • 'int8'

  • 'string'

청크 크기로, 'ChunkSize'와 함께 청크의 차원을 포함하는 행 벡터가 쉼표로 구분되어 지정됩니다. 'ChunkSize'의 길이는 데이터셋 크기 sz의 길이와 같아야 합니다. sz의 임의 차원을 Inf로 설정하려면 ChunkSize를 지정해야 합니다.

gzip 압축 수준으로, 0과 9 사이의 숫자형 값으로 지정됩니다. 여기서 0은 가장 낮은 압축 수준이고 9는 가장 높은 압축 수준입니다.

숫자형 데이터셋의 누락된 데이터에 대한 채우기 값. FillValue는 숫자형 값이어야 합니다.

32비트 Fletcher 체크섬 필터로, 'Fletcher32'와 함께 숫자형 또는 논리값 1(true)이나 0(false)이 쉼표로 구분되어 지정됩니다. Fletcher 체크섬 필터는 파일의 전송된 데이터에 오류가 없는지 확인하도록 설계되었습니다.

Shuffle 필터로, 'Shuffle'와 함께 숫자형 또는 논리값 1(true)이나 0(false)이 쉼표로 구분되어 지정됩니다. Shuffle 필터는 메모리에 저장된 데이터의 바이트 순서를 재배열하여 압축률을 개선하도록 설계되었습니다.

텍스트 인코딩으로, 'TextEncoding'과 함께 다음 값 중 하나가 쉼표로 구분되어 지정됩니다.

  • 'UTF-8' — UTF-8 인코딩을 사용하여 문자를 표현합니다.

  • 'system' — 시스템 인코딩을 사용하여 문자를 바이트로 표현합니다(권장되지 않음).

정의

HDF5의 청크 저장

청크 저장은 데이터셋을 "청크"라는 작은 데이터 조각으로 나누어 메모리에 저장하는 방법을 가리킵니다. 데이터셋을 청크로 저장할 경우 HDF5 파일에서 청크를 개별적으로 읽고 쓸 수 있으므로 데이터셋의 서브셋을 대상으로 작업할 때 성능을 개선할 수 있습니다.

R2011a에 개발됨