TensorFlow 1.4, TF Veri Kümesini çekirdeğe taşır (tf.data.Dataset
) ve doc/eğitici modelleri eğitmek için tf.estimator
'u kullanmayı önerir. Ancak, this page'un sonunda önerildiği gibi, Dataset nesnesi ve yineleyicisi input_fn
işlevinin içinde başlatılmalıdır. Bu, her bir çağrı için estimator.train(input_fn, steps)
numaralı çağrıya yeniden başlayacaktır. Bu nedenle çağırma, çağdaki örneklerin < numarasıyla, modelin veri kümesinin bir alt kümesinde çalıştırılmasına yol açacaktır.Kestirici + veri kümesi kullanamaz ve bir epoch için daha az efor uygulayamaz
Bu yüzden benim sorum.
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)
estimator.train(input_fn=train_input_fn, steps=valid_freq)
yapılan her çağrı en baştan eğitim numuneleri yinelemeleri başlatmadan: Bu Tahmincisi + DataSetbırakma ile böyle bir şey uygulamak mümkün mü?
Örneğin, here'dan farklı olarak, Veri Kümesi ve yineleyicisini input_fn
'un dışına çıkarın. Denedim ama işe yaramaz çünkü o zaman giriş (veri kümesi yineleyicisinden) ve model (tahminciden model_fn
) aynı grafiğin bir parçası değildir.
Teşekkür
İlgili github sorunu: https://github.com/tensorflow/tensorflow/issues/14283