Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

isShuffleable

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

説明

tf = isShuffleable(ds) は、データストア ds がシャッフル可能な場合は logical 1 (true) を返します。それ以外の場合、結果は logical 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.

次に、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 で導入