我想有一个只预测某个句法范畴的模型,比如动词,我能更新LSTM的权重,这样如果这个词是动词,它们就被设置为1,如果是其他类别,则设置为0?在
这是我当前的代码:model = Sequential()
model.add(Embedding(vocab_size, embedding_size, input_length=5, weights=[pretrained_weights]))
model.add(Bidirectional(LSTM(units=embedding_size)))
model.add(Dense(2000, activation='softmax'))
for e in zip(model.layers[-1].trainable_weights, model.layers[-1].get_weights()):
print('Param %s:\n%s' % (e[0], e[1]))
weights = [layer.get_weights() for layer in model.layers]
print(weights)
print(model.summary())
# compile network
model.compile(loss='categorical_crossentropy',
optimizer = RMSprop(lr=0.001),
metrics=['accuracy'])
# fit network
history = model.fit(X_train_fit, y_train_fit, epochs=100, verbose=2, validation_data=(X_val, y_val))
score = model.evaluate(x=X_test, y=y_test, batch_size=32)
以下是我要返回的重量:
^{pr2}$
等等。
我可以通过更新权重来完成吗?或者有没有一种更有效的方法可以只输出动词?
谢谢你的帮助!在