tfrecordsとsteps_per_epochを使用して読み取るサンプルを制御するにはどうすればよいですか?

フィリップ

現在、tfコードをtfrecordsとtfdatasetに移行しています。私のアプリケーションでは、トレーニングされたモデルは通常、すべてのトレーニングサンプルを見るずっと前に収束します。したがって、私は通常、データジェネレーターの長さを、1つのエポックに収めたいバッチの数に設定し、ジェネレーターで、次のエポックで、ジェネレーターが前のエポックの最後のサンプルの後にピックアップするようにします。これにより、すべてのコールバックが希望どおりに機能し(特に早期停止)、各エポックで見えないデータを使用してモデルをトレーニングできます。

tfデータセットとtfrecordsを使用してこの動作を実現するにはどうすればよいですか?tensorflow Githubのデータセット定義を読みましたが、これが可能かどうかはわかりません。

私が設定した場合、これには2つの可能な解決策があると思いますsteps_per_epoch

  1. 次のサンプルが読み取られる場所を指定するコードの部分を上書きして、前のエポックの最後のサンプルの次のサンプルを取得します。
  2. カスタムtfデータセットの実装を使用して、上記の動作を模倣しようとしています。これが並列化とパフォーマンスに予期しない影響を与える可能性があるのではないかと心配しています。

しかし、私もその方法がわかりません。ですから、これについて何か洞察があれば、私は非常に感謝します。

今のところ、常に1つのエポックでトレーニングしてから、新しいtfrecordファイルで新しいデータセットを初期化するというエレガントでない回避策を使用できますが、特にコールバックに関しては、より良い方法があることを願っています。

AlexisBRENON

あなたが何を達成しようとしているのか完全に理解できているかわかりません。あなたはあれが欲しい:

  • エポックの間、モデルはデータセット全体を表示しません
  • 次のエポックは、前のエポックのサンプルを使用していません

それでおしまい?

私の観点からは、steps_per_epoch議論はあなたの最善の策です。たとえば、100個のアイテム(サンプルまたはバッチ)を含むデータセットがあり、steps_per_epoch=20それを設定した場合、最初のエポックでモデルに0から19のアイテムが表示され、2番目のエポックで20から39のアイテムが表示されます。コードのどの部分も上書きする必要はありません。

データセットの動作を模倣しようとすることは、おそらく良い考えではありません(注意することが多すぎる、多くの(ハードな)作業が必要です)。

最後の段落から、各エポックに特定のTFRecordファイルからのデータをフィードする必要があることを理解しています。多分あなたは見ることができますtf.data.Dataset.flat_mapTFRecordファイル(同じファイルが複数回表示される可能性があります)のリストを作成し、その上にflat_map」を作成TFRecordDatasetします。

files = tf.data.Dataset.from_tensor_slices([
   "file1.tfrecord", "file2.tfrecord",
   "file1.tfrecord", "file3.tfrecord"
])
dataset = file.flat_map(TFRecordDataset)

データセットを反復処理するとExample、file1、file2、file1、file3の順になります。

これがお役に立てば幸いです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Steps_per_epochのtf.dataset内のサンプル数を取得するにはどうすればよいですか?

分類Dev

TFRecordsから読み取った値をtf.reshapeの引数として使用するにはどうすればよいですか?

分類Dev

AsyncioとGUIを使用してファイルを読み取るにはどうすればよいですか。

分類Dev

Rに文字列を制限として読み取らせるにはどうすればよいですか?

分類Dev

djangoやflaskを使用してPostgresのリードレプリカからの読み取りを強制するにはどうすればよいですか?

分類Dev

イベントとプロミスを使用してプログラムフローを制御するにはどうすればよいですか?

分類Dev

キーがタプルになるようにcsvファイルを辞書として読み取るにはどうすればよいですか?

分類Dev

オープン/読み取りを使用するときにファイルの終わりを検出するにはどうすればよいですか?

分類Dev

パンダを使用してIBMSkills NetworkでホストされているCSVファイルを読み取るにはどうすればよいですか?

分類Dev

Accessで255文字/行を超え、制御文字を含むTXTファイルを読み取るにはどうすればよいですか?

分類Dev

サブプロセスを使用していない場合、Pythonでstderrを読み取るにはどうすればよいですか?

分類Dev

ASMを使用して定数プールエントリの順序を制御するにはどうすればよいですか?

分類Dev

ファイルの読み取り中に制御文字を「バイパス」するにはどうすればよいですか?

分類Dev

UMLで属性を「読み取り専用」として表示するにはどうすればよいですか?

分類Dev

XmlReaderを使用して、空の要素を超えて読み取るにはどうすればよいですか?

分類Dev

F#JsonProviderを使用してURLからJSONを読み取るにはどうすればよいですか

分類Dev

'sed'を使用してtxtから行を読み取るにはどうすればよいですか?

分類Dev

T-SQLを使用してURLからXMLを読み取るにはどうすればよいですか?

分類Dev

CAPLを使用してExcelからデータを読み取るにはどうすればよいですか

分類Dev

dconfキーを読み取り専用として保存するにはどうすればよいですか?

分類Dev

JavaScriptを使用してNativeScriptでCSS変数を読み取るにはどうすればよいですか

分類Dev

Pythonでuprootを使用してTMatrixTを読み取るにはどうすればよいですか?

分類Dev

JavaでBufferedReaderを使用して次の行を読み取るにはどうすればよいですか?

分類Dev

C#でWMIを使用してイベントビューアのコンテンツを読み取るときに、カルチャに依存しないタイプの情報を取得するにはどうすればよいですか?

分類Dev

QualtricsでJavaスクリプトを使用して再生するmp3ファイルを制御するにはどうすればよいですか?

分類Dev

数字と記号の文字列を数学として読み取るにはどうすればよいですか?

分類Dev

ファイルシステムを読み取り/書き込みとして再マウントするにはどうすればよいですか?

分類Dev

ファイルから読み取り、シェルスクリプトを使用してコンテンツを別の実行者に渡すときに、二重引用符をエスケープするにはどうすればよいですか?

分類Dev

µを区切り文字として使用してtxtファイルを読み取るにはどうすればよいですか?

Related 関連記事

  1. 1

    Steps_per_epochのtf.dataset内のサンプル数を取得するにはどうすればよいですか?

  2. 2

    TFRecordsから読み取った値をtf.reshapeの引数として使用するにはどうすればよいですか?

  3. 3

    AsyncioとGUIを使用してファイルを読み取るにはどうすればよいですか。

  4. 4

    Rに文字列を制限として読み取らせるにはどうすればよいですか?

  5. 5

    djangoやflaskを使用してPostgresのリードレプリカからの読み取りを強制するにはどうすればよいですか?

  6. 6

    イベントとプロミスを使用してプログラムフローを制御するにはどうすればよいですか?

  7. 7

    キーがタプルになるようにcsvファイルを辞書として読み取るにはどうすればよいですか?

  8. 8

    オープン/読み取りを使用するときにファイルの終わりを検出するにはどうすればよいですか?

  9. 9

    パンダを使用してIBMSkills NetworkでホストされているCSVファイルを読み取るにはどうすればよいですか?

  10. 10

    Accessで255文字/行を超え、制御文字を含むTXTファイルを読み取るにはどうすればよいですか?

  11. 11

    サブプロセスを使用していない場合、Pythonでstderrを読み取るにはどうすればよいですか?

  12. 12

    ASMを使用して定数プールエントリの順序を制御するにはどうすればよいですか?

  13. 13

    ファイルの読み取り中に制御文字を「バイパス」するにはどうすればよいですか?

  14. 14

    UMLで属性を「読み取り専用」として表示するにはどうすればよいですか?

  15. 15

    XmlReaderを使用して、空の要素を超えて読み取るにはどうすればよいですか?

  16. 16

    F#JsonProviderを使用してURLからJSONを読み取るにはどうすればよいですか

  17. 17

    'sed'を使用してtxtから行を読み取るにはどうすればよいですか?

  18. 18

    T-SQLを使用してURLからXMLを読み取るにはどうすればよいですか?

  19. 19

    CAPLを使用してExcelからデータを読み取るにはどうすればよいですか

  20. 20

    dconfキーを読み取り専用として保存するにはどうすればよいですか?

  21. 21

    JavaScriptを使用してNativeScriptでCSS変数を読み取るにはどうすればよいですか

  22. 22

    Pythonでuprootを使用してTMatrixTを読み取るにはどうすればよいですか?

  23. 23

    JavaでBufferedReaderを使用して次の行を読み取るにはどうすればよいですか?

  24. 24

    C#でWMIを使用してイベントビューアのコンテンツを読み取るときに、カルチャに依存しないタイプの情報を取得するにはどうすればよいですか?

  25. 25

    QualtricsでJavaスクリプトを使用して再生するmp3ファイルを制御するにはどうすればよいですか?

  26. 26

    数字と記号の文字列を数学として読み取るにはどうすればよいですか?

  27. 27

    ファイルシステムを読み取り/書き込みとして再マウントするにはどうすればよいですか?

  28. 28

    ファイルから読み取り、シェルスクリプトを使用してコンテンツを別の実行者に渡すときに、二重引用符をエスケープするにはどうすればよいですか?

  29. 29

    µを区切り文字として使用してtxtファイルを読み取るにはどうすればよいですか?

ホットタグ

アーカイブ