Создайте 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
filename - Имя файлаИмя файла, заданное как вектор символов или строковый скаляр, содержащий имя файла HDF5.
В зависимости от места, в котором вы пишете, filename может принять одну из этих форм.
Местоположение | Форма | ||||||
|---|---|---|---|---|---|---|---|
| Текущая папка | Чтобы записать в текущую папку, укажите имя файла в Пример:
'myFile.h5' | ||||||
Другие папки | Чтобы записать в папку, отличную от текущей папки, укажите полное или относительное имя пути в Пример:
'C:\myFolder\myFile.h5' Пример:
'myFolder\myFile.h5' | ||||||
Удаленное местоположение | Чтобы записать в удаленное место,
В зависимости от вашего удаленного местоположения,
Для получения дополнительной информации см. раздел Работа с удаленными данными. Пример:
's3://bucketname/path_to_file/myFile.h5' |
Если filename не существует, h5create создает его.
Если вы задаете имя существующего файла HDF5 и новое имя набора данных, то h5create добавит новый набор данных к существующему файлу HDF5.
ds - Имя набора данныхИмя набора данных, заданное как вектор символов или строковый скаляр, содержащий полное имя пути к набору данных, который будет создан. Если вы задаете промежуточные группы в имени набора данных, и они ранее не существовали, то h5create создает их.
sz - Размер набора данныхРазмер набора данных, заданный как вектор-строка. Чтобы задать неограниченную размерность, задайте соответствующий элемент sz как Inf.
Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.
'Deflate','9''Datatype' - Тип данных'double' (по умолчанию) | 'single' | 'uint64' | 'uint32' | 'uint16' | …Тип данных набора данных, заданный как разделенная разделенными запятой парами, состоящая из 'Datatype' и любой из следующих MATLAB® типы данных.
'double'
'single'
'uint64'
'int64'
'uint32'
'int32'
'uint16'
'int16'
'uint8'
'int8'
'string'
'ChunkSize' - Размер фрагментаРазмер порции, заданный как разделенная разделенными запятой парами, состоящая из 'ChunkSize' и вектор-строка, содержащий размерности фрагмента. Длина 'ChunkSize' должен равняться длине размера набора данных sz. ChunkSize должен быть задан, чтобы задать любую размерность в sz на Inf.
'Deflate' — gzip уровень сжатияgzip уровень сжатия, заданный как числовое значение от 0 до 9, где 0 является самым низким уровнем сжатия, а 9 является самым высоким.
'FillValue' - Заполните значение для отсутствующих данных0 (по умолчанию) | числовое значениеЗаполните значение отсутствующих данных в числовых наборах данных. FillValue должно быть числовым значением.
'Fletcher32' - 32-битный фильтр контрольной суммы Fletcherfalse или 0 (по умолчанию) | true или 132-битный фильтр контрольной суммы Флетчера, заданный как разделенная разделенными запятой парами, состоящая из 'Fletcher32' и числового или логического 1 (true) или 0 (false). Фильтр контрольной суммы Fletcher разработан, чтобы убедиться, что переданные данные в файле свободны от ошибок.
'Shuffle' - Фильтр тасованияfalse или 0 (по умолчанию) | true или 1Фильтр тасования, заданный как разделенная разделенными запятой парами, состоящая из 'Shuffle' и числовое или логическое 1 (true) или 0 (false). Фильтр тасования является алгоритмом, разработанным для улучшения степени сжатия путем перестройки порядка байтов данных, хранящихся в памяти.
'TextEncoding' - Кодировка текста'UTF-8' (по умолчанию) | 'system'Текстовая кодировка, заданная как разделенная разделенными запятой парами, состоящая из 'TextEncoding' и одно из следующих значений:
'UTF-8' - Представлять символы, использующие UTF-8 кодировку.
'system' - Представлять символы в виде байтов, используя системную кодировку (не рекомендуемую).
h5create не поддерживает создание файлов, хранящихся удаленно в HDFS™.
Устройство хранения фрагментов относится к способу хранения набора данных в памяти путем деления его на меньшие части данных, известные как «фрагменты». Chunking набора данных может улучшить эффективность при работе с подмножеством набора данных, поскольку фрагменты могут быть прочитаны и записаны в HDF5 файл индивидуально.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.