Считывание всех данных в хранилище данных
Создание ImageDatastore объект, содержащий четыре изображения.
imds = imageDatastore({'street1.jpg','street2.jpg','peppers.png','corn.tif'});Прочтите все данные в хранилище данных.
T = readall(imds);
Осмотрите выходные данные.
imout = imtile(T); imshow(imout)

Создание хранилища данных из файла образца airlinesmall.csv, который содержит табличные данные.
ds = tabularTextDatastore('airlinesmall.csv','TreatAsMissing','NA');
Укажите интересующие переменные с помощью SelectedVariableNames собственность.
ds.SelectedVariableNames = {'DepTime','ArrTime','ActualElapsedTime'};Считывайте все данные из хранилища данных параллельно.
T = readall(ds,'UseParallel',true);readall возвращает все данные в таблице.
Просмотр информации о таблице. В выходные данные включаются только выбранные переменные.
T.Properties
ans =
TableProperties with properties:
Description: ''
UserData: []
DimensionNames: {'Row' 'Variables'}
VariableNames: {'DepTime' 'ArrTime' 'ActualElapsedTime'}
VariableDescriptions: {}
VariableUnits: {}
VariableContinuity: []
RowNames: {}
CustomProperties: No custom properties are set.
Use addprop and rmprop to modify CustomProperties.
Создайте хранилище данных, поддерживающее четность между двумя изображениями базовых хранилищ данных. Например, создайте два отдельных хранилища данных образа, а затем объединенное хранилище данных, представляющее два основных хранилища данных.
Создание хранилища данных образа imds1 представляет коллекцию из трех изображений.
imds1 = imageDatastore({'street1.jpg','street2.jpg','peppers.png'}); Создание второго хранилища данных imds2 путем преобразования изображений imds1 для градаций серого и последующего уменьшения размеров изображений.
imds2 = transform(imds1,@(x) imresize(rgb2gray(x),0.5));
Создание объединенного хранилища данных из imds1 и imds2.
imdsCombined = combine(imds1,imds2);
Считывание всех данных из объединенного хранилища данных. Выходной сигнал представляет собой массив ячеек 3 на 2. Два столбца представляют все считанные данные из двух базовых хранилищ данных imds1 и imds2соответственно.
dataOut = readall(imdsCombined)
dataOut=3×2 cell array
{480x640x3 uint8} {240x320 uint8}
{480x640x3 uint8} {240x320 uint8}
{384x512x3 uint8} {192x256 uint8}
ds - Хранилище входных данныхХранилище входных данных. Эти хранилища данных можно использовать в качестве входных данных для readall способ.
Хранилища данных MATLAB ® - хранилища данных, созданные с помощью MATLABdatastore функции. Например, создайте хранилище данных для коллекции изображений с помощью ImageDatastore. Полный список хранилищ данных см. в разделе Выбор хранилища данных для формата файла или приложения.
Объединенные и преобразованные хранилища данных - хранилища данных, созданные с помощью combine и transform функции.
Пользовательские хранилища данных - хранилища данных, созданные с помощью пользовательской инфраструктуры хранилища данных. См. раздел Разработка пользовательского хранилища данных.
tf - Читать параллельноЧитать параллельно, указано как true или false. При указании true, readall считывает все данные из хранилища данных параллельно (требуется Parallel Computing Toolbox). Параллельное чтение может привести к повышению производительности при чтении данных, особенно с удаленными данными.
Обработка хранилища данных может быть улучшена с помощью UseParallel свойство и панель инструментов параллельных вычислений. readall быстрее считывает поддерживаемые хранилища данных на локальном компьютере, используя вычислительные среды с низкими затратами, такие как параллельные пулы на основе потоков. Дополнительные сведения о параллельных пулах на основе потоков см. в разделе parpool(Панель инструментов параллельных вычислений).
В результате встроенной многопоточности MATLAB некоторые хранилища данных (например, imageDatastore) быстрее работать на локальном компьютере, когда не используется параллелизм, основанный на рабочих MATLAB. Для получения дополнительной информации см. MATLAB Multicore.
Пример: readall(ds,'UseParallel',true)
data - все данные в хранилище данных;Все данные в хранилище данных, возвращаемые в виде таблицы или массива ячеек в зависимости от типа ds.
| Тип хранилища данных | Тип данных data | Описание |
|---|---|---|
TabularTextDatastore и SpreadsheetDatastore | Стол | SelectedVariableNames свойство определяет переменные таблицы. |
ImageDatastore | Массив ячеек | Каждый элемент в массиве ячеек содержит данные изображения для одного изображения. readall поддерживает все типы изображений, поддерживаемые imread функция. Дополнительные сведения о поддерживаемых типах изображений см. в разделе imread. |
KeyValueDatastore | Стол | Имена табличных переменных: Key и Value. |
FileDatastore | Массив ячеек | Каждый элемент в массиве ячеек содержит данные, считанные из одного файла с помощью пользовательской функции чтения, заданной ReadFcn собственность. |
TransformedDatastore | Варьируется | Выходные данные совпадают с выходными данными, возвращенными базовым хранилищем данных, указанным в UnderlyingDatastores собственность. Например, если базовым хранилищем данных является хранилище данных образа, то data возвращается в виде массива ячеек, где каждый элемент в массиве ячеек содержит данные изображения для одного изображения. |
CombinedDatastore | Массив ячеек | Каждый столбец массива ячеек содержит результат вызова Если количество подмножеств данных в базовых хранилищах данных различается, то |
Для параллельного выполнения установите 'UseParallel' опция для true.
Дополнительные общие сведения о параллельных вычислениях см. в разделе Запуск функций MATLAB с автоматической параллельной поддержкой (панель инструментов параллельных вычислений).
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.