2016-07-13 69 views
2

我的每個訓練示例都是一個長度不同的列表。 我想找到一種方法將這些示例提供給圖形。 以下是我通過創建一個列表,其元素是佔位符未知尺寸的嘗試。Tensorflow - 不同長度的餵養示例

graph2 = tf.Graph() 
with graph2.as_default(): 
    A = list() 
    for i in np.arange(3): 
     A.append(tf.placeholder(tf.float32 ,shape = [None,None])) 
    A_size = tf.shape(A) 

with tf.Session(graph=graph2) as session: 
    tf.initialize_all_variables().run() 
    feed_dict = {A[0]:np.zeros((3,7)) ,A[1] : np.zeros((3,2)) , A[2] : np.zeros((3,2)) } 
    print (type(feed_dict)) 
    B = session.run(A_size ,feed_dict=feed_dict) 
print type(B) 

不過,我得到了以下錯誤:

InvalidArgumentError: Shapes of all inputs must match: values[0].shape = [3,7] != values[1].shape = [3,2] 

如何解決它的任何想法?

回答

2

tf.placeholder文檔:

shape: The shape of the tensor to be fed (optional). If the shape is not specified, you can feed a tensor of any shape.

你需要寫shape=None而不是shape=[None, None]。在您的代碼中,Tensorflow不知道您正在處理可變大小的輸入。

+0

它似乎沒有工作,我仍然得到像以前一樣的錯誤。 –

+0

哪條線給你錯誤? –