2017-05-19 3 views
2

Ich versuche, eine komplizierte Funktion Annäherung in Tensorflow mit mehreren Schichten durchzuführen. Die Funktion wird mit vielen generierten Daten trainiert, daher möchte ich in der Lage sein, die Daten zur Laufzeit einfach aufgrund der Menge der erzeugten Daten zu generieren. Ich entschied mich, einen Estimator mit einem ModelFnOps zu verwenden, aber ich bin an dem Punkt, wo ich die Trainingsschleife schreibe und ich kann keine Dokumentation finden, die etwas wie eval(feed_dict=my_feed_dict) verwendet, das here angezeigt wird. Das einzige, was ich bisher gefunden habe, hat fit() auf dem Estimator aufgerufen, aber das erfordert den Aufruf des gesamten Datensatzes (es sei denn, ich habe den Zweck dieser Funktion missverstanden). Gibt es eine Möglichkeit, einzelne Beispiele oder Chargen innerhalb einer Schleife einzuteilen, um einen Estimator zu trainieren?Feed auf einem Tensorflow Estimator

+0

Die Schätzer können normalerweise eine Array- oder eine Generatorfunktion übernehmen. – drpng

+0

@drpng Wie würde man das umsetzen? Eine Funktion, die keine Parameter enthält und ein einzelnes dict mit einem Eingabe/Ausgabe-Paar zurückgibt? Es scheint keine Methode zu geben, die eine Funktion als Eingabe übernehmen kann. – Garan

+0

Verwenden Sie 'tf.estimator.Estimator.train'? Es sollte eine generierende Funktion als Eingabe annehmen. – drpng

Antwort

0

Sie können Ihre Daten über eine input function einspeisen. Diese Eingabefunktion ist eine erstklassige Funktion, die an den Schätzer (oder die eval/train/predict-Methode) übergeben wird.

Sie können auch die dataset API verwenden, um Dateneinspeisungen und Iteratoren zu erstellen und die Feeder-Operationen in Ihren Eingabefunktionen zurückzugeben.

Verwandte Themen