के दौरान हानि को प्रिंट करना मैं टेंसरफ्लो "एमएलआईएसटी फॉर एमएल शुरुआती" ट्यूटोरियल देख रहा हूं, और मैं प्रत्येक प्रशिक्षण चरण के बाद प्रशिक्षण हानि को मुद्रित करना चाहता हूं।टेंसरफ्लो प्रशिक्षण
मेरे प्रशिक्षण पाश वर्तमान में इस तरह दिखता है:
train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)
कहाँ cross_entropy
हानि जो मैं बाहर प्रिंट करना चाहते है:
cross_entropy = -tf.reduce_sum(y_ * tf.log(y))
for i in range(100):
batch_xs, batch_ys = mnist.train.next_batch(100)
sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})
अब, train_step
के रूप में परिभाषित किया गया है
इसे मुद्रित करने का एक तरीका स्पष्ट रूप सेकी गणना करना होगाप्रशिक्षण पाश में:
for i in range(100):
batch_xs, batch_ys = mnist.train.next_batch(100)
cross_entropy = -tf.reduce_sum(y_ * tf.log(y))
print 'loss = ' + str(cross_entropy)
sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})
मैं अब इस बारे में दो प्रश्न हैं:
यह देखते हुए कि
cross_entropy
पहले से हीsess.run(train_step, ...)
दौरान गणना की जाती है, यह इसे दो बार गणना करने के लिए अक्षम लगता है, दो बार की संख्या की आवश्यकता होती है सभी प्रशिक्षण डेटा के आगे पास।cross_entropy
के मान तक पहुंचने का कोई तरीका है जब इसेsess.run(train_step, ...)
के दौरान गणना की गई थी?मैं
tf.Variable
कैसे प्रिंट करूं?str(cross_entropy)
का उपयोग करके मुझे एक त्रुटि मिलती है ...
धन्यवाद!
धन्यवाद। तो हर बार जब मैं 'sess.run ([train_step, cross_entropy]) कहता हूं, 'यह अभी भी केवल' cross_entropy' की गणना करता है, है ना? यह मेरे द्वारा पारित प्रत्येक चर के लिए अतिरिक्त अग्रेषित पास नहीं करता है? – Karnivaurus
यह सही है - यह सटीक उसी सबग्राफ को निष्पादित करता है (क्योंकि 'cross_entropy' पहले से ही प्रशिक्षण चरण के हिस्से के रूप में गणना की जाती है), और आपके पाइथन प्रोग्राम पर 'cross_entropy' के मान को लाने के लिए बस एक अतिरिक्त नोड जोड़ता है। – mrry
धन्यवाद।एक साइड प्वाइंट के रूप में, जैसा कि आपने सुझाव दिया है, मेरे कोड को अपडेट करने के बाद, 'cross_entropy' का मान, औसतन, लूप पर घटता है। हालांकि, कभी-कभी यह वास्तव में एक प्रशिक्षण पुनरावृत्ति से अगले तक बढ़ता है। यह ढाल वंश में कई चरणों के आकार के लिए होता है। क्या यह उम्मीद है? प्रत्येक पुनरावृत्ति के बाद नुकसान हमेशा कम नहीं होगा, क्योंकि आप वजन को एक दिशा में ले जा रहे हैं जिससे इस नुकसान को कम किया जा सके? हानि बनाम पुनरावृत्ति का ग्राफ यहां है: http://i.stack.imgur.com/f8B80.png – Karnivaurus