2017-02-20 4 views
5

Können Sie ein Beispiel für die Verwendung des High-Level-API Schätzer mit Platzhalter bieten und Chargen wie für eine grundlegende Verwendung Fütterung:Tensorflow, Fütterung Estimator.fit (Batch)

for step in xrange(max_steps): 
    batch_of_inputs,batch_of_targets= get_batch_from_disk(step)# e.g.batches are stored as list where step is and index of the list 
    feed_dict = {x:batch_of_inputs,y:batch_of_targets} 
    _, loss_value = sess.run([train_op, loss], 
         feed_dict=feed_dict) 

Wie das gleiche mit Estimator zu tun API? Estimator nimmt Batch_Size, Schritte, Input_FUC oder Feed_Fun als ein Argument der Fit-Funktion (siehe doc https://www.tensorflow.org/versions/master/api_docs/python/contrib.learn/estimators), aber es ist nicht klar für mich, wie eine Funktion implementieren, die Daten als Batch aus z. Scheibe?

Antwort

0

Ich denke nicht, ob Schätzer wirklich mit Platzhaltern verwendet werden sollen. Sie verwenden das Konzept input_fn, das richtig beschrieben wird here.

Wenn Sie wirklich einen Platzhalter verwenden, müssen Sie einen FeedFnHook verwenden könnten:

def input_fn(): # empty input_fn, returns features and labels 
    return {}, {} 

feed_dict = {x:batch_of_inputs,y:batch_of_targets} 
def feed_fn(): # feed_fn with hardcoded feed_dict 
    return feed_dict 

hooks = [tf.train.FeedFnHook(feed_fn=feed_fn)] 
estimator.train(input_fn=input_fn, hooks=hooks, steps=1) 
Verwandte Themen