h5create

Создайте HDF5 набор данных

Описание

пример

h5create(filename,ds,sz) создает набор данных ds имя которого включает его полное местоположение в файле HDF5 filename, и с размером, заданным sz.

пример

h5create(filename,ds,sz,Name,Value) задает один или несколько необязательных аргументы пары "имя-значение".

Для примера, 'ChunkSize',[5 5] задает 5 на 5 фрагменты набора данных, которые могут храниться отдельно в файле HDF5.

Примеры

свернуть все

Создайте набор данных фиксированного размера 100 на 200 на 300 'myDataset' чей полный путь задан как '/g1/g2/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

Создайте набор данных с одной точностью 1000 на 2000 и примените наивысший уровень сжатия. Фрагмент сжатия 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

Создайте двумерный набор данных '/ myDataset3' это неограниченно по второму измерению. ChunkSize должен быть задан, чтобы задать любую размерность набора данных равным Inf.

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.

В зависимости от места, в котором вы пишете, filename может принять одну из этих форм.

Местоположение

Форма

Текущая папка

Чтобы записать в текущую папку, укажите имя файла в filename.

Пример: 'myFile.h5'

Другие папки

Чтобы записать в папку, отличную от текущей папки, укажите полное или относительное имя пути в filename.

Пример: 'C:\myFolder\myFile.h5'

Пример: 'myFolder\myFile.h5'

Удаленное местоположение

Чтобы записать в удаленное место, filename должен содержать полный путь к файлу, заданному в качестве равномерного указателя ресурса (URL) формы:

scheme_name://path_to_file/ my_file.ext

В зависимости от вашего удаленного местоположения, scheme_name может быть одним из значений в этой таблице.

Удаленное местоположениеscheme_name
Амазонки S3™s3
Windows Azure® Хранилище больших двоичных объектовwasb, wasbs

Для получения дополнительной информации см. раздел Работа с удаленными данными.

Пример: 's3://bucketname/path_to_file/myFile.h5'

  • Если filename не существует, h5create создает его.

  • Если вы задаете имя существующего файла HDF5 и новое имя набора данных, то h5create добавит новый набор данных к существующему файлу HDF5.

Имя набора данных, заданное как вектор символов или строковый скаляр, содержащий полное имя пути к набору данных, который будет создан. Если вы задаете промежуточные группы в имени набора данных, и они ранее не существовали, то 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. ChunkSize должен быть задан, чтобы задать любую размерность в sz на Inf.

gzip уровень сжатия, заданный как числовое значение от 0 до 9, где 0 является самым низким уровнем сжатия, а 9 является самым высоким.

Заполните значение отсутствующих данных в числовых наборах данных. FillValue должно быть числовым значением.

32-битный фильтр контрольной суммы Флетчера, заданный как разделенная разделенными запятой парами, состоящая из 'Fletcher32' и числового или логического 1 (true) или 0 (false). Фильтр контрольной суммы Fletcher разработан, чтобы убедиться, что переданные данные в файле свободны от ошибок.

Фильтр тасования, заданный как разделенная разделенными запятой парами, состоящая из 'Shuffle' и числовое или логическое 1 (true) или 0 (false). Фильтр тасования является алгоритмом, разработанным для улучшения степени сжатия путем перестройки порядка байтов данных, хранящихся в памяти.

Текстовая кодировка, заданная как разделенная разделенными запятой парами, состоящая из 'TextEncoding' и одно из следующих значений:

  • 'UTF-8' - Представлять символы, использующие UTF-8 кодировку.

  • 'system' - Представлять символы в виде байтов, используя системную кодировку (не рекомендуемую).

Ограничения

  • h5create не поддерживает создание файлов, хранящихся удаленно в HDFS™.

Подробнее о

свернуть все

Устройство хранения фрагментов в HDF5

Устройство хранения фрагментов относится к способу хранения набора данных в памяти путем деления его на меньшие части данных, известные как «фрагменты». Chunking набора данных может улучшить эффективность при работе с подмножеством набора данных, поскольку фрагменты могут быть прочитаны и записаны в HDF5 файл индивидуально.

Введенный в R2011a