各エポックのトレーニングサンプルをシャッフルして、各ミニバッチにデータセット全体の素敵なランダムサンプルが含まれるようにすることを私は理解しています。データセット全体をTFRecordsを含む1つのファイルに変換すると、データセット全体をロードするにはいかがですか?私の理解は、TFRecordファイルへの効率的なランダムアクセスがないことです。したがって、具体的には、このシナリオでTFRecordファイルがどのように使用されるかについてのガイダンスを探しています。TFRecordsとレコードのシャッフル
5
A
答えて
3
それはありません - 入力を複数の入力データファイルにシャーディングしてから、それを処理することができます。as explained in this answer。
"完璧な"シャッフルに近いものが必要な場合は、それをメモリに読み込む必要がありますが、実際にはほとんどの場合、100または1000ファイルに分割するだけで十分にシャッフルできます。 8〜16ファイル分のデータを保持するのに十分な大きさのシャッフルキューを使用します。
私は、ディスクにこぼれる可能性のあるランダムランダムシャッフルキューを作成するために頭の後ろにかゆみがありますが、それは私の優先順位リストでは非常に低いです - 誰かが貢献したい場合は、それ。 :)
+6
どのようにそれはかゆみですか? +1 – TimZaman
0
実際には、TFRecordsに保存する前にシャッフルについて心配する必要はありません。 TFRecordsを読むには(現在)推奨されている方法はtf.data.TFRecordDataset
で、.shuffle()
メソッドを実装しているからです。
関連する問題
- 1. ページ更新時のMySQLレコードのシャッフル
- 2. スパークreduceByKeyとシャッフル
- 3. スパークのシャッフル・リードとシャッフル・ライトの違いは何ですか?
- 4. Pythonのシャッフル
- 5. カードのシャッフルC#
- 6. 色のシャッフル
- 7. Unityのシャッフル配列
- 8. PHPのシャッフル機能
- 9. シャッフル列ペア
- 10. シャッフル文字列
- 11. C++配列シャッフル
- 12. PHPで配列をシャッフルすると配列がシャッフルされない
- 13. シャッフルNSMutableArrayのObjective-Cの
- 14. 並列計算 - シャッフル
- 15. HashMapの値をシャッフルする
- 16. ルビーモンク数シャッフル - ソリューションの比較
- 17. シャッフル:影響の種類
- 18. インプレースビット反転シャッフル配列
- 19. シャッフル機能はPHPで
- 20. VIdeoViewをシャッフルできない
- 21. ArrayListをシャッフルする方法
- 22. Javaで配列をシャッフル
- 23. 「破壊的」jQueryシャッフル問題
- 24. Tensorflow TFRecordsデータファイルを書き込むための純粋なJava/Scalaコード
- 25. Arrayクラスのシャッフルとサンプルを無効にする
- 26. boost :: randomでベクトルをシャッフルするときの問題
- 27. シャッフル二つのリストを同じよう
- 28. シャッフルされたActiveRecordクエリのページ番号
- 29. 配列のシャッフルが機能しない
- 30. テーブル内の画像をシャッフルする
'RandomShuffleQueue'を使う' shuffle_batch'があります。それはデータセットのバッファされた部分をシャッフルします。この質問には詳細があります - http://stackoverflow.com/questions/33715728/using-queues-to-uniformly-sample-from-multiple-input-files –
これは参考になります彼が提案するソリューションはまだデータセット全体をロードします。クラスがミニバッチで等しく表現されることを確認する問題があるようです。データセット全体をロードすることが現実的でない場合は、ファイル名のキューを維持し、個々のインスタンスをロードすることが最良の方法であると思われます。このシナリオでは、TFRecordは大きな価値を提供していないようです。 – bobw