Чтение всех данных в datastore
Создайте ImageDatastore
объект, содержащий четыре изображения.
imds = imageDatastore({'street1.jpg','street2.jpg','peppers.png','corn.tif'});
Считайте все данные в datastore.
T = readall(imds);
Исследуйте выходы.
imout = imtile(T); imshow(imout)
Создайте datastore из файла образца airlinesmall.csv
, который содержит табличные данные.
ds = tabularTextDatastore('airlinesmall.csv','TreatAsMissing','NA');
Задайте интересующие переменные, используя SelectedVariableNames
свойство.
ds.SelectedVariableNames = {'DepTime','ArrTime','ActualElapsedTime'};
Параллельно считывайте все данные в datastore.
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.
Создайте datastore, который поддерживает четность между парой изображений базовых хранилищ данных. Например, создайте два отдельных хранилища данных изображений, а затем создайте комбинированный datastore, представляющий два базовых хранилища данных.
Создайте изображение datastore imds1
представление набора из трех изображений.
imds1 = imageDatastore({'street1.jpg','street2.jpg','peppers.png'});
Создайте второй imds2
datastore путем преобразования изображений
imds1
для градации серого, а затем для уменьшения размера изображений.
imds2 = transform(imds1,@(x) imresize(rgb2gray(x),0.5));
Создайте комбинированный datastore из imds1
и imds2
.
imdsCombined = combine(imds1,imds2);
Считайте все данные из объединенного datastore. Выходные выходы - массив ячеек 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
- Входной datastoreВведите datastore. Можно использовать эти хранилища данных как вход в readall
способ.
MATLAB® datastores - Хранилища данных, созданные с помощью MATLAB datastore
функций. Например, создайте datastore для набора изображений, используя ImageDatastore
. Полный список хранилищ данных см. в разделе Выбор Datastore для формата файла или приложения.
Объединенные и преобразованные хранилища данных - Хранилища данных, созданные с помощью combine
и transform
функций.
Пользовательские хранилища данных - Хранилища данных, созданные с помощью пользовательской среды хранилища данных. См. «Разработка пользовательского Datastore».
tf
- Чтение параллельноЧтение параллельно, задается как true
или false
. Если вы задаете true
, readall
считывает все данные из datastore параллельно (требует Parallel Computing Toolbox). Параллельное считывание может привести к улучшенной производительности при считывании данных, особенно с удаленными данными.
Обработка Datastore может быть улучшена с помощью UseParallel
свойство и Parallel Computing Toolbox. readall
быстрее считывает поддерживаемые хранилища данных на локальной машине с помощью низкооплачиваемых вычислительных окружений, таких как параллельные пулы на основе потоков. Для получения дополнительной информации об основанных на потоках параллельных пулах см. parpool
(Parallel Computing Toolbox).
В результате встроенной многопоточности MATLAB, некоторые хранилища данных (для примера, imageDatastore
) выполняйте быстрее на локальной машине, когда не используете параллелизм, основанный на работниках MATLAB. Для получения дополнительной информации см. MATLAB Multicore.
Пример: readall(ds,'UseParallel',true)
data
- Все данные в datastoreВсе данные в datastore, возвращенные как таблица или массив ячеек в зависимости от типа ds
.
Тип Datastore | Тип данных data | Описание |
---|---|---|
TabularTextDatastore и SpreadsheetDatastore | Таблица | The SelectedVariableNames свойство определяет табличные переменные. |
ImageDatastore | Массив ячеек | Каждый элемент массива ячеек содержит данные изображения для одного изображения. The readall функция поддерживает все типы изображений, поддерживаемые imread функция. Для получения дополнительной информации о поддерживаемых типах изображений см. imread . |
KeyValueDatastore | Таблица | Имена табличных переменных Key и Value . |
FileDatastore | Массив ячеек | Каждый элемент массива ячеек содержит данные, считанные из одного файла с помощью пользовательской функции чтения, заданной ReadFcn свойство. |
TransformedDatastore | Варьируется | Значение выхода совпадает с выходом, возвращаемым базовому datastore, заданным UnderlyingDatastores свойство. Для примера, если базовый datastore является изображением datastore, то data возвращается как массив ячеек, где каждый элемент массива ячеек содержит данные изображения для одного изображения. |
CombinedDatastore | Массив ячеек | Каждый столбец массива ячеек содержит результат вызова Если количество подмножеств данных в базовых хранилищах данных различается, то |
Чтобы запустить параллельно, установите 'UseParallel'
опция для true
.
Для получения дополнительной общей информации о параллельных вычислениях смотрите Запуск функций MATLAB с поддержкой автоматических параллелей (Parallel Computing Toolbox).
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.