Keras多个输入-预期会看到2个数组,但获得了以下1个数组的列表:

以下是创建模型的代码。模型具有2个输入层,1个嵌入,LSTM,注意和密集层。尝试执行具有多个输入的model.fit时出现错误(附加图像)。

不知道为什么吗?请解释。

MAX_SEQUENCE_LENGTH = 20
# First input layer 
sequence_ip = Input(shape=(MAX_SEQUENCE_LENGTH,), dtype='int32')

# Second input layer
time_Decay_ip = Input(shape=(MAX_SEQUENCE_LENGTH,), dtype='float32')

# Adding embedding layer
embedding_layer = Embedding(vocab_length, output_dim = 32, input_length=seq_length, trainable=True) 
embedded_sequences = embedding_layer(sequence_ip)

l_gru = LSTM(100, return_sequences=True)(embedded_sequences)
l_att = attention()([l_gru, time_Decay_ip])

preds = Dense(1, activation='softmax', trainable = True)(l_att)
model = Model([sequence_ip, time_Decay_ip], preds)
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['acc'])

model.summary()
model.fit(x = [np.array(X_train), np.array(time_decay_tr)], y = np.array(Y_train), validation_data=(X_test, Y_test), nb_epoch=10, batch_size=9)

enter image description here"Error Message"

I checked shape and length of input list

评论
  • podio
    podio 回复

    使用keras时出现此错误,有多种方法可以解决此问题:

    您可以卸载并重新安装正在使用的数据, 或者您可以卸载并重新安装tensorflow。

    您还需要检查您的GPU是否正在运行,以尝试运行CUDA(从NVIDIA卡中获得),并且您没有NVIDIA GPU使用该CPU。