7

tfrecords を使用してデータを保存し、API を使用してデータをテンソルとして読み取りDatasetEstimatorAPI を使用してトレーニングを実行します。今、データセット内の各アイテムに対してオンラインでデータ拡張を行いたいのですが、しばらく試してみると、それを行う方法が見つかりません。ランダム反転、ランダム回転、その他のマニピュレータが必要です。

このチュートリアルの指示に従って、CNN であるカスタム推定器を使用していますが、データ拡張ステップがどこで発生するかわかりません。

4

1 に答える 1

6

TFRecords を使用しても、データの拡張が妨げられることはありません。

コメントでリンクしたチュートリアルに従って、大まかに何が起こるかを次に示します。

  • TFRecords ファイルからデータセットを作成し、ファイルを解析してimagelabel
dataset = tf.data.TFRecordDataset(filenames=filenames)
dataset = dataset.map(parse)
  • 新しい前処理関数を適用して、トレーニング中にデータを拡張できるようになりました
# Only do it when we are training
if train:
    dataset = dataset.map(train_preprocess)
  • 関数は次のtrain_preprocessようになります。
def train_preprocess(image, label):
    flip_image = tf.image.random_flip_left_right(image)
    # Other transformations...
    return flip_image, label
于 2018-01-19T18:54:11.983 に答える