exponenta event banner

isShuffleable

Определение возможности тасования хранилища данных

Синтаксис

Описание

пример

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

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

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

  • Классы пользовательских хранилищ данных можно перетасовать, если они являются подклассами из matlab.io.datastore.Shuffleable.

Вы можете использовать shuffle функция в хранилищах данных с возможностью переключения для рандомизации порядка файлов, сохраняя при этом ассоциации строк файлов в различных хранилищах данных.

Примеры

свернуть все

Создание ImageDatastore, а затем напишите if/else оператор, тасующий хранилище данных только в том случае, если оно может тасоваться.

imageFiles = {'street1.jpg','street2.jpg','peppers.png','corn.tif'};
imds = imageDatastore(imageFiles);
if isShuffleable(imds)
    newds = shuffle(imds);
    disp('Shuffling successful.')
else
    disp('Datastore is not shuffleable.')
end
Shuffling successful.

Теперь создайте CombinedDatastore объект, состоящий из двух копий imds. Использовать то же самое if/else тест для тасования хранилища данных.

cds = combine(imds,imds);
if isShuffleable(cds)
    newds = shuffle(cds);
    disp('Shuffling successful.')
else
    disp('Datastore is not shuffleable.')
end
Shuffling successful.

В этом случае объединенное хранилище данных cds может быть перетасована, так как андерлаинг ImageDatastore объекты имеют subset методы.

Создать другое CombinedDatastore объект, но на этот раз построить его из TabularTextDatastore объекты. В этом случае объединенное хранилище данных не может быть перетасовано, поскольку TabularTextDatastore объекты не имеют subset методы.

ttds = tabularTextDatastore('outages.csv');
cds = combine(ttds,ttds);
if isShuffleable(cds)
    newds = shuffle(cds);
    disp('Shuffling successful.')
else
    disp('Datastore is not shuffleable.')
end
Datastore is not shuffleable.

Входные аргументы

свернуть все

Хранилище входных данных. В качестве входных данных можно использовать следующие хранилища данных:

  • Хранилища данных MATLAB ® - хранилища данных, созданные с помощью MATLABdatastore функции. Например, создайте хранилище данных для коллекции изображений с помощью ImageDatastore. Полный список хранилищ данных см. в разделе Выбор хранилища данных для формата файла или приложения.

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

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

Представлен в R2020a