2017-02-20 28 views
5

आप प्लेसहोल्डर के साथ उच्च स्तरीय एपीआई आकलनकर्ता का उपयोग करने और तरह बैचों खिला एक बुनियादी उपयोग के लिए का एक उदाहरण प्रदान किया जा सका:Tensorflow, भोजन Estimator.fit (बैच)

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) 

अनुमानक साथ भी ऐसा ही करने के लिए कैसे एपीआई? अनुमानक फिट फ़ंक्शन के तर्क के रूप में batch_size, चरणों, input_fuc या feed_fun लेता है (दस्तावेज़ https://www.tensorflow.org/versions/master/api_docs/python/contrib.learn/estimators देखें) लेकिन यह मेरे लिए स्पष्ट नहीं है कि फ़ंक्शन को कैसे कार्यान्वित किया जाए जो डेटा को बैच के रूप में लोड करेगा। डिस्क?

उत्तर

0

मुझे नहीं लगता कि अनुमानक वास्तव में प्लेसहोल्डर्स के साथ उपयोग किए जाने वाले हैं या नहीं। वे input_fn की अवधारणा का उपयोग करते हैं जो ठीक से here वर्णित है।

आप एक FeedFnHook उपयोग कर सकते हैं क्या तुम सच में एक प्लेसहोल्डर का उपयोग करने की जरूरत है:

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)