isPartitionable

Определите, является ли datastore разделяемым

Синтаксис

Описание

пример

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

  • TransformedDatastore может быть разделен, если все базовые хранилища данных являются разделяемыми.

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

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

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

Примеры

свернуть все

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

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 не может быть разделен, потому что базовый TabularTextDatastore объекты не имеют subset методы.

Создайте другую CombinedDatastore объект, но на этот раз создать его из ImageDatastore объекты. В этом случае комбинированный datastore может быть разделен, потому что базовый 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® datastores - Хранилища данных, созданные с помощью MATLAB datastore функций. Например, создайте datastore для набора изображений, используя ImageDatastore. Полный список хранилищ данных см. в разделе Выбор Datastore для формата файла или приложения.

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

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

Введенный в R2020a