【发布时间】:2018-12-15 20:14:09
【问题描述】:
当我尝试运行它时:
p0 = Sequential()
p0.add(Embedding(vocabulary_size1, 50, weights=[embedding_matrix_passage],
input_length=50, trainable=False))
p0.add(LSTM(64))
p0.add(Dense(256,name='FC1'))
p0.add(Activation('relu'))
p0.add(Dropout(0.5))
p0.add(Dense(50,name='out_layer'))
p0.add(Activation('sigmoid'))
q0 = Sequential()
q0.add(Embedding(vocabulary_size2,50,weights=embedding_matrix_query],
input_length=50, trainable=False))
q0.add(LSTM(64))
q0.add(Dense(256,name='FC1'))
q0.add(Activation('relu'))
q0.add(Dropout(0.5))
q0.add(Dense(50,name='out_layer'))
q0.add(Activation('sigmoid'))
model = concatenate([p0.output, q0.output])
model = Dense(10)(model)
model = Activation('softmax')(model)
model.compile(loss='categorical_crossentropy',optimizer='rmsprop', metrics=
['accuracy'])
它给了我这个错误:
AttributeError
---> model.compile(loss='categorical_crossentropy',optimizer='rmsprop', metrics=['accuracy'])
【问题讨论】:
-
按照你的定义,
model确实是张量,而不是模型;您应该将所有管道切换到功能 API - 请参阅 How to “Merge” Sequential models in Keras 2.0? -
是的,你的整个代码没什么意义,你应该使用函数式 API。
标签: python machine-learning keras lstm