Tensorflow तंत्रिका नेटवर्क TypeError: फ़ेच तर्क में अमान्य प्रकार है


11

मैं टेंसोफ़्लो का उपयोग करके एक सरल तंत्रिका नेटवर्क बना रहा हूं, डेटा के साथ मैंने खुद को इकट्ठा किया, हालांकि, यह सहयोग नहीं कर रहा है: पीआई एक त्रुटि में चला गया है कि मैं ठीक नहीं कर सकता या इसके लिए खोज नहीं कर सकता हूं और मुझे आपकी मदद पसंद होगी।

गलतफहमी:

TypeError: 2861.6152 का फ़ेच तर्क 2861.6152 में अमान्य प्रकार है, एक स्ट्रिंग या टेन्सर होना चाहिए। (एक फ्लोट 32 को टेन्सर या ऑपरेशन में नहीं बदल सकते।)

त्रुटि मेरे कोड में निम्नलिखित पंक्ति को संदर्भित करती है:

_, cost = tf_session.run([optimizer, cost], feed_dict = {champion_data: batch_input, item_data: batch_output})

मैंने पहले ही पता लगा लिया है कि त्रुटि तब नहीं होती है जब मैं अपने कोड में निम्नलिखित पंक्तियों पर टिप्पणी करता हूं:

prediction = neural_network_model(champion_data)
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(prediction, item_data))
optimizer = tf.train.AdamOptimizer().minimize(cost)
_, cost = tf_session.run([optimizer, cost], feed_dict = {champion_data: batch_input, item_data: batch_output})

तो कहीं न कहीं इनमें से एक लाइन कुछ ऐसी मिल रही है जो बिल्कुल वैसी नहीं दिखती है जैसी यह दिखने की उम्मीद है। मैंने पहले ही बैच (in_pput और बैच_output से np.array () को हटाकर या इसे सूची () से बदलकर) आज़मा लिया है, लेकिन इससे समस्या हल नहीं होती है। मेरी वर्तमान परिकल्पना यह है कि neural_network_model (चैम्पियन_डेटा) का आउटपुट किसी प्रकार का गलत आकार या प्रकार है, हालाँकि मुझे यकीन नहीं है कि परीक्षण कैसे करना है या इसे हल कैसे करना है अगर यह मामला हो।

पूरा कोड यहां पाया जा सकता है: https://gist.github.com/HasseIona/4bcaf9f95ae828e056d5210a2ea07f88

संपादित करें: मैंने सत्यापित किया है कि चैंपियन डेटा जो कि neural_network_model में इनपुट हैं, भविष्यवाणी और लागत सभी दसियों हैं। मैं इस परिकल्पना का उपयोग कर समस्या को हल करने की कोशिश कर रहा हूं कि समस्या किसी तरह से फीड_डक्ट = {} कोड का हिस्सा है, लेकिन अभी तक कहीं भी नहीं मिल रही है

जवाबों:


17

समस्या दो अवसरों पर 'लागत' के नाम का उपयोग करने में आ रही है, इसे बदलकर समस्या हल की गई:

_, cost = tf_session.run([optimizer, cost], feed_dict = {champion_data: batch_input, item_data: batch_output})

इसके लिए:

_, c = tf_session.run([optimizer, cost], feed_dict = {champion_data: batch_input, item_data: batch_output})

इस तरह कोड के [अनुकूलक, लागत] भाग के साथ चर 'c' का नाम अब नहीं आता है।


आश्चर्यजनक उपयोगी उत्तर
लेन्हॉक्सुंग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.