tf.data 入力パイプラインを使用して、データのバッチ処理中に実行時にデータセットを選択できるようにしようとしています。以下により、InitTrain/InitTest を実行して、使用するデータセットを選択できるようになります。
TrainData = tf.data.Dataset.from_generator(TrainGenerator,tf.float32)
TestData = tf.data.Dataset.from_generator(TestGenerator,tf.float32)
DataIterator = tf.data.Iterator.from_structure(tf.float32)
DataNext = DataIterator.get_next()
InitTrain = DataIterator.make_initializer(TrainData)
InitTest = DataIterator.make_initializer(TestData)
イテレータを使用しない場合は、次を使用してパディングされたバッチを取得できます。
TrainData.padded_batch(1000,someshape)
入力データ ソースを選択する機能を保持しながら、データをバッチ処理するにはどうすればよいですか?
考えられる回避策は、新しい from_generator データセットを作成し、DataNext で sess.run を呼び出すジェネレーターを作成して、バッチ処理できるデータセットを作成することですが、これにより run 呼び出しが割り当てられるため、これが意図された方法であるとは思えません利用される。