2016-11-07 3 views
6

मैं टेंसरफ्लो में एक साधारण खिलौना उदाहरण बनाने पर काम कर रहा हूं और मैंने एक अजीब त्रुटि में भाग लिया है। मैं दो प्लेसहोल्डर परिभाषित के रूप में निम्नानुसार है:मैं टेंस्फोर्लो प्लेसहोल्डर को numpy arrays के साथ कैसे खिला सकता हूं?

x = tf.placeholder(tf.float32, shape=[None,2]) [two-parameter input] 

y_ = tf.placeholder(tf.float32, shape=[None,2]) [one-hot labels] 

मैं बाद में के रूप में परिभाषित एक feed_dict के साथ इन प्लेसहोल्डर को खिलाने के लिए प्रयास:

feed_dict={x: batch[0].astype(np.float32), y_: batch[1].astype(np.float32)} 

कहाँ batch[0] और batch[1] आकार के दोनों numpy ndarrays हैं (100,2)

: [अपने-अपने आकार को प्रिंट द्वारा सत्यापित]

जब मैं मॉडल को चलाने के लिए प्रयास करते हैं, मैं त्रुटि मिलती है

मेरे प्लेसहोल्डर "x" के कारण

क्या कोई बता सकता है कि मैं क्या गलत कर रहा हूं? मैंने ऑनलाइन कई उदाहरणों को देखा है और ऐसा लगता है कि यह काम करना चाहिए ... क्या प्लेसहोल्डर्स को संख्यात्मक सरणी से मूल्यों के साथ खिलाने का कोई और तरीका है?

यदि यह मदद करता है, तो मैं उबंटू, एससीएल और पायथन 2.7 में काम कर रहा हूं, और मेरे पास सभी मानक numpy और tensorflow संकुल स्थापित हैं।

+0

डीबगिंग में सहायता के लिए, आप सभी टेंसर और संचालन को एक नाम दे सकते हैं, उदा। 'x = tf.placeholder (..., name = 'x') करके। त्रुटि संदेश तब बहुत कम गुप्त हैं। – sunside

+0

आपके कोड को काम करना चाहिए था, मैंने अपनी मशीन में वही काम किया था, यानी 'tf.placeholder' को उसी प्रकार (' float32') के 'numpy.ndarray' के साथ खिला रहा था। यदि आप पूरे त्रुटि संदेश देते हैं तो इससे मदद मिलेगी। –

उत्तर

4

अपने पूरे कोड के बिना, ठीक से जवाब देना मुश्किल है। मैंने खिलौने के उदाहरण में जो वर्णन किया है उसे पुन: उत्पन्न करने की कोशिश की और यह काम किया।

import tensorflow as tf 
import numpy as np 

x = tf.placeholder(tf.float32, shape=[None, 2]) 
y_ = tf.placeholder(tf.float32, shape=[None, 2]) 
loss = tf.reduce_sum(tf.abs(tf.sub(x, y_)))#Function chosen arbitrarily 
input_x=np.random.randn(100, 2)#Random generation of variable x 
input_y=np.random.randn(100, 2)#Random generation of variable y 

with tf.Session() as sess: 
    print(sess.run(loss, feed_dict={x: input_x, y_: input_y})) 
संबंधित मुद्दे