2017-01-28 164 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)