isPartitionable

Определите, partitionable ли datastore

Синтаксис

Описание

пример

tf = isPartitionable(ds) возвращает логический 1 TRUE) если datastore ds partitionable. В противном случае результатом является логический 0 ложь).

  • TransformedDatastore partitionable, если все базовые хранилища данных partitionable.

  • CombinedDatastore partitionable, если все базовые хранилища данных имеют subset метод или является преобразованиями/комбинациями хранилищ данных, которые имеют subset методы.

  • Пользовательские классы datastore partitionable, если они разделяют на подклассы от matlab.io.datastore.Partitionable.

Можно использовать partition функция на partitionable хранилищах данных, чтобы создать разделы для параллельной обработки с Parallel Computing Toolbox™.

Примеры

свернуть все

Создайте TabularTextDatastore, и затем запишите if/else оператор, который делит datastore, только если это partitionable.

ttds = tabularTextDatastore('outages.csv');
if isPartitionable(ttds)
    newds = partition(ttds,3,1);
    disp('Partitioning successful.')
else 
    disp('Datastore is not partitionable.')
end
Partitioning successful.

Теперь создайте CombinedDatastore объект, состоявший из двух копий ttds. Используйте тот же if/else протестируйте, чтобы разделить datastore.

cds = combine(ttds,ttds);
if isPartitionable(cds)
    newds = partition(cds,3,1);
    disp('Partitioning successful.')
else 
    disp('Datastore is not partitionable.')
end
Datastore is not partitionable.

В этом случае, объединенный datastore cds не partitionable потому что базовый TabularTextDatastore объекты не имеют subset методы.

Создайте другой CombinedDatastore объект, но на этот раз создают его из ImageDatastore объекты. В этом случае объединенный datastore partitionable потому что базовый ImageDatastore объекты имеют subset методы.

imageFiles = {'street1.jpg','street2.jpg','peppers.png','corn.tif'};
imds = imageDatastore(imageFiles);
cds = combine(imds,imds);
if isPartitionable(cds)
    newds = partition(cds,3,1);
    disp('Partitioning successful.')
else 
    disp('Datastore is not partitionable.')
end
Partitioning successful.

Входные параметры

свернуть все

Введите datastore. Можно использовать эти хранилища данных в качестве входа:

  • Хранилища данных MATLAB® — Хранилища данных, созданные с помощью MATLAB datastore функции. Например, создайте datastore для набора изображений с помощью ImageDatastore. Для полного списка хранилищ данных смотрите, Выбирают Datastore for File Format или Application.

  • Объединенные и преобразованные хранилища данных — Хранилища данных создали использование combine и transform функции.

  • Пользовательские хранилища данных — Хранилища данных создали использование пользовательской среды хранилища данных. Любой datastore, который разделяет на подклассы от matlab.io.Datastore поддерживает isPartitionable функция. Смотрите Разрабатывают Пользовательский Datastore для получения дополнительной информации.

Введенный в R2020a