0
Tensorflow用のバッチ処理パイプラインを使用しています。tf.train.slice_input_producer
を使用し、tf.train.shuffle_batch
を使用してバッチを読み取ります。Tensorflowプロデューサ - ディスクのボトルネックを避けるためにメモリ内に完全なデータセットをロードする
単純なモデルの場合、各バッチは入力プロデューサがディスクから次のバッチをキューに読み込むよりも速く終了するという問題があります。ディスクから十分な帯域幅がありません。しかし、完全なデータセットはメモリに収まるでしょう。
Tensorflowプロデューサを修正して、ディスクからストリーミングする代わりに、完全なデータセットをメモリに読み込む方法はありますか?
私は本当にキューランナーを使用しています。問題は、ディスク・アクセスが、キュー・ランナーがキューをいっぱいに保つのに十分高速でないことです。プロデューサーが最初のエポック後に画像を記憶しておくか、循環的にそれらを再ロードし続けるかどうかは明らかではありません。 – user745668
どのAPIを使用しているのかわかりませんが、tf.read_batch_examples()を使用している場合は、num_threads(キューイング用)とキュー容量があります。それは役に立ちますか?私はそれが十分に速いが、キューのサイズが十分に大きくないディスクアクセスでないかどうか疑問に思っています –