メインコンテンツ

shuffle

augmentedImageDatastore でデータをシャッフルする

説明

auimds2 = shuffle(auimds) は、拡張イメージ データストア auimds から取得し、順序をランダムに変更したデータを含む augmentedImageDatastore オブジェクトを返します。

すべて折りたたむ

サンプル データを読み込みます。サンプル データは、手書き数字の合成イメージで構成されています。XTrain は 28×28×1×5000 の配列です。ここで、以下のようになります。

  • 28 はイメージの高さと幅。

  • 1 はチャネルの数。

  • 5000 は手書き数字の合成イメージの数。

load DigitsDataTrain
whos XTrain
  Name         Size                      Bytes  Class     Attributes

  XTrain      28x28x1x5000            31360000  double              

サイズ変更、回転、平行移動、反転など、イメージ拡張の前処理オプションを指定する imageDataAugmenter オブジェクトを作成します。イメージを、水平方向および垂直方向に最大 3 ピクセルまでのランダムな平行移動をさせたり、最大 20 度までの回転をさせたりします。

imageAugmenter = imageDataAugmenter( ...
    RandRotation=[-20,20], ...
    RandXTranslation=[-3 3], ...
    RandYTranslation=[-3 3]);

拡張されたイメージ データを使用して augmentedImageDatastore を作成します。たとえば、trainnet 関数を使用してネットワークに学習させているときにデータストアから読み取りを行うと、データストアはイメージの拡張を実行し、イメージのサイズを変更します。データストアは、イメージをメモリに保存せずにイメージを拡張します。

imageSize = [64 64 1];
augimds = augmentedImageDatastore(imageSize,XTrain,DataAugmentation=imageAugmenter);
numObservations = augimds.NumObservations;

イメージをシャッフルして、同じイメージをランダムな順序で格納する新しいデータストアを作成します。

augimds = shuffle(augimds);

データストアから読み取り、最初の 9 つのイメージを表示します。

minibatch = read(augimds);
imshow(imtile(minibatch.input(1:9)))

Figure contains an axes object. The hidden axes object contains an object of type image.

入力引数

すべて折りたたむ

拡張イメージ データストア。augmentedImageDatastore オブジェクトとして指定します。

出力引数

すべて折りたたむ

出力データストア。auimds から取得し、順序をランダムに変更したファイルを含む augmentedImageDatastore オブジェクトとして返されます。

バージョン履歴

R2018a で導入