Создайте 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
или 1
32-битный фильтр контрольной суммы Флетчера, заданный как разделенная разделенными запятой парами, состоящая из '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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.