Python Keras输入维

Python Keras输入维,python,theano,keras,Python,Theano,Keras,我正在努力格式化我的数据 我用Keras设计了一个简单的模型。 它由两个独立的模型组成(Embedding层和LSTM层)。 然后将这两个模型与Merge合并。然后通过一些卷积层将它们组合在一起 这些是我嵌入的例句 x1 >>> array([[ 0, 25, 0, 0, 0]], dtype=int32) y1 >>> array([[42, 10, 0, 0, 0, 10]], dtype=int32) model.predict([x1,y

我正在努力格式化我的数据

我用Keras设计了一个简单的模型。 它由两个独立的模型组成(
Embedding
层和
LSTM
层)。 然后将这两个模型与
Merge
合并。然后通过一些卷积层将它们组合在一起

这些是我嵌入的例句

x1
>>> array([[ 0, 25,  0,  0,  0]], dtype=int32)
y1
>>> array([[42, 10,  0,  0,  0, 10]], dtype=int32)
model.predict([x1,y1])
>>> array([[ 0.92327869]])
使用
predict
我得到了组合句子所需的单一输出

x1
>>> array([[ 0, 25,  0,  0,  0]], dtype=int32)
y1
>>> array([[42, 10,  0,  0,  0, 10]], dtype=int32)
model.predict([x1,y1])
>>> array([[ 0.92327869]])
我甚至可以使用

model.fit([x,y],gold[0]) 
要训练模型,在哪里

gold[0]
>>> array([ 1.])
问题是如何格式化示例
x_I
y_I
,以便在fit函数中使用它<代码>模型。预测([[x1,x2],[y1,y2]])不起作用,收益率

TypeError: list indices must be integers or slices, not list
因此,遵循Keras文档,您需要将其作为输入提供给维度2的嵌入层a
numpy.array
。因为您有多个输入,所以需要提供numpy数组的列表,以便将它们提供给多个输入

然而,在最后一种情况下,您输入的是输入列表。这引起了一个问题。为了解决这一问题,您需要通过以下方式对这两个阵列进行优化:

x = numpy.concatenate((x1, x2), axis = 0)
y = numpy.concatenate((y1, y2), axis = 0)
因此,遵循Keras文档,您需要将其作为输入提供给维度2的嵌入层a
numpy.array
。因为您有多个输入,所以需要提供numpy数组的列表,以便将它们提供给多个输入

然而,在最后一种情况下,您输入的是输入列表。这引起了一个问题。为了解决这一问题,您需要通过以下方式对这两个阵列进行优化:

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