Main Content

isShuffleable

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

説明

tf = isShuffleable(ds)は、データストアdsがシャッフル可能な場合は logical1(true) を返します。それ以外の場合、結果は logical0(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);ifisShuffleable(imds) newds = shuffle(imds); disp('Shuffling successful.')elsedisp('Datastore is not shuffleable.')end
Shuffling successful.

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

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

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

別のCombinedDatastoreオブジェクトを作成しますが、今回はTabularTextDatastoreオブジェクトから作成します。この場合、基となるTabularTextDatastoreオブジェクトがsubsetメソッドをもたないため、統合データストアはシャッフルできません。

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

入力引数

すべて折りたたむ

入力データ ストア。次のデータストアを入力として使用できます。

  • MATLAB®データ ストア — MATLAB数据存储関数を使用して作成されたデータ ストア。たとえば、ImageDatastoreを使用して、イメージの集合用のデータ ストアを作成します。データ ストアの完全な一覧は、ファイル形式またはアプリケーション用のデータ ストアの選択を参照してください。

  • 統合および変換を行ったデータ ストア — 関数combineおよびtransformを使用して作成したデータ ストア。

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

拡張機能

バージョン履歴

R2020a で導入