TensorFlow 1.4はTFデータセットをコア(tf.data.Dataset
)に移動し、doc/tutorialはtf.estimator
を使用してモデルをトレーニングすることを推奨します。エフェクト+データセットと列車が1エポジト秒未満で使用できない
ただし、this pageの最後に推奨されているように、Datasetオブジェクトとそのイテレータはinput_fn
関数内でインスタンス化する必要があります。これは、estimator.train(input_fn, steps)
への呼び出しごとに、データセットによる反復処理が開始されることを意味します。したがって、呼び出すステップは、エポックのサンプル数が<であり、データセットのサブセットでモデルをトレーニングすることにつながります。
私の質問です。 estimator.train(input_fn=train_input_fn, steps=valid_freq)
への各呼び出しでゼロから学習サンプルの繰り返しを起動せずに
for i in range(num_epochs):
# Train for some steps
estimator.train(input_fn=train_input_fn, steps=valid_freq)
validation_iterator.
# Evaluate on the validation set (steps=None, we evaluate on the full validation set)
estimator.evaluate(input_fn=valid_input_fn)
:それは見積もり+データセットを使用してこのような何かを実装することは可能ですか?
たとえば、hereとは異なり、データセットとそのイテレータをinput_fn
の外部にインスタンス化しますか?私は試しましたが、データセットイテレータからの入力と推定モデルmodel_fn
からのモデルは同じグラフの一部ではないため、動作しません。
おかげ
関連githubの問題:https://github.com/tensorflow/tensorflow/issues/14283