2017-01-28 163 views
1

我正在努力格式化我的數據。Keras輸入尺寸

我在凱拉斯設計了一個簡單的模型。 它由兩個獨立的模型(Embedding圖層和LSTM圖層)組成。 這兩個模型然後合併Merge。然後它們被一些卷積層組合在一起。

這些是我嵌入的例句。

x1 
>>> array([[ 0, 25, 0, 0, 0]], dtype=int32) 
y1 
>>> array([[42, 10, 0, 0, 0, 10]], dtype=int32) 

使用predict我希望單個輸出的組合句子。

model.predict([x1,y1]) 
>>> array([[ 0.92327869]]) 

我甚至可以用

model.fit([x,y],gold[0]) 

訓練模型,其中

gold[0] 
>>> array([ 1.]) 

問題是我怎麼可以格式的例子x_iy_i,這樣我可以用它適合功能。 model.predict([[x1,x2],[y1,y2]])沒有工作,產量

TypeError: list indices must be integers or slices, not list 

回答

0

所以,你需要因爲你有多個輸入提供作爲輸入到嵌入層尺寸2的numpy.array的Keras Embedding文檔以下 - 您需要提供一個列表的numpy數組,以便將它們提供給多個輸入。

但是,在最後一種情況下,您正在輸入一系列輸入列表。這造成了一個問題。爲了解決這個問題你需要numpy.concatenate這兩個數組:

x = numpy.concatenate((x1, x2), axis = 0) 
y = numpy.concatenate((y1, y2), axis = 0)