我正在尝试在具有文本属性和TFIDF向量的数据集上运行LSTM。我将文字嵌入文本并输入到LSTM层。接下来,我将LSTM输出和TFIDF向量连接起来。但是,下面的代码中的第2行会引发以下错误:
“ ValueError:使用不是符号张量的输入调用了层lstm_1。接收的类型:。完整输入:[]。该层的所有输入都应该是张量。”
下面给出代码,其中len(term_Index)+1 = 9891,emb_Dim = 100,emb_Mat包含浮点数,形状为[9891,100],并且sen_Len = 1000:]
embed = Embedding(len(term_Index) + 1, emb_Dim, weights=[emb_Mat],
input_length=sen_Len, trainable=False)
lstm = LSTM(60, dropout=0.1, recurrent_dropout=0.1)(embed)
tfidf_i = Input(shape=(max_terms_art,))
conc = Concatenate()(lstm, tfidf_i)
drop = Dropout(0.2)(conc)
dens = Dense(1)(drop)
acti = Activation('sigmoid')(dens)
model = Model([embed, tfidf_i], acti)
model.compile(optimizer='adam', loss='binary_crossentropy', metrics = ['accuracy'])
history = model.fit([features_Train, TFIDF_Train], target_Train, epochs = 50, batch_size=128, validation_split=0.20)
我正在尝试在具有文本属性和TFIDF向量的数据集上运行LSTM。我将文字嵌入文本并输入到LSTM层。接下来,我将LSTM输出和TFIDF向量连接起来。但是,行...
似乎我无法重现您的错误。添加括号后,代码可以完美运行。请参阅下面的代码: