Main Content

isShuffleable

データストアがシャッフル可能かどうかを判別

R2020a 以降

説明

tf = isShuffleable(ds) は、データストア ds がシャッフル可能な場合は logical 1 (true) を返します。それ以外の場合、結果は logical 0 (false) です。

  • TransformedDatastore は、基となるすべてのデータストアがシャッフル可能な場合にシャッフルできます。

  • CombinedDatastore および SequentialDatastore は、基となるすべてのデータストアが 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.

次に、imds の 2 つのコピーで構成される CombinedDatastore オブジェクトを作成します。同じ if/else テストを使用してデータストアをシャッフルします。

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

この場合、基となる ImageDatastore オブジェクトが subset メソッドをもつため、統合データストア cds はシャッフルできます。

別の 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® データストア — MATLAB datastore 関数を使用して作成されたデータストア。たとえば、ImageDatastore を使用して、イメージの集合用のデータストアを作成します。データストアの完全な一覧については、ファイル形式またはアプリケーション用のデータ ストアの選択を参照してください。

  • 統合、順次、および変換済みのデータストア — 関数 combine および transform を使用して作成したデータストア。

  • カスタム データストア — カスタム データストア フレームワークを使用して作成したデータストア。matlab.io.Datastore からサブクラス化されるデータストアで関数 isShuffleable がサポートされます。詳細については、カスタム データストアの開発を参照してください。

拡張機能

バージョン履歴

R2020a で導入