バッチ処理はfeed_dictsよりもきれいに見えるので、私はTensorflowでバッチ処理を理解しようとしています。Tensorflowバッチ引数
以下のコードブロックは、バッチ内に32個の同一イメージを作成し、キューにフィードしますか?
# Creates batches of 32 images and 32 labels.
image_batch, label_batch = tf.train.shuffle_batch(
[single_image, single_label],
batch_size=32,
num_threads=4,
capacity=50000,
min_after_dequeue=10000)
コンテキストのビット:私は現在、約50Kの行を含む単一のファイルを持っています。私はtf.train.string_input_producer
とtf.decode_csv
を使用してcsvから行を読みますが、何をtf.train.shuffle_batch
に引数として渡すか、個々の行またはファイルから読み込まれたすべての行を含むテンソルを混同しています。
ご回答ありがとうございます。私は 'tf.train.shuffle_batch()'が32個の異なるイメージをどこから描画するのか、まだ混乱しています。元の投稿のコードスニペットでは、 'tf.train.shuffle_batch()'に渡された引数から判断すると、 'single_image'以外のデータにアクセスすることはできません。 – Eweler
TensorFlowは 'single_image'と' single_label'を(tf.train.start_queue_runners()で作成された別のスレッドで)何度も評価し、それらを 'tf.train.shuffle_batchの内部で作成されたキューに追加します) '。したがって、 'single_image'と' single_label'が評価するたびに(例えば 'ReaderBase.read()' opの結果であるため)異なる値を持つと、結果に異なるイメージが表示されます。 'single_image'が常に同じ値(例えば定数であるため)と評価される場合、同じイメージのコピーが32個得られます。 – mrry