使用您自己保存的模型在Keras中转移学习

时间:2019-01-29 12:46:00

标签: python keras lstm sentiment-analysis transfer-learning

我已经看到了转移学习的一些示例,其中可以使用来自 keras.application 的预训练模型(Xception,VGG16,VGG19,ResNet50等),但是我想要的是从我使用 model.save('model.h5')

保存的模型

这是我当前的模型:

model = Sequential()
model.add(Embedding(max_words, embedding_dim, input_length=maxlen))
model.add(LSTM(32))
model.add(Dropout(0.6))
model.add(Dense(2, activation='sigmoid'))

model.compile(optimizer='rmsprop', loss='binary_crossentropy',metrics=['acc'])

model.fit(sequences, labels, epochs=10, batch_size=32, validation_split=0.2)

现在,不用说

model_base = keras.applications.vgg16.VGG16(include_top=False, weights='imagenet')

我想用 load_model('model.h5')加载保存的模型,并将其作为图层添加到当前模型中。

1 个答案:

答案 0 :(得分:0)

尝试

model = Sequential()
model.add(Embedding(max_words, embedding_dim, input_length=maxlen))
model.add(LSTM(32))
model.add(Dropout(0.6))
model.add(Dense(2, activation='sigmoid'))

model.layers[0].set_weights([embedding_matrix])
model.layers[0].trainable = False

model.load_weights('model.h5')
model.compile(optimizer='rmsprop', loss='binary_crossentropy',metrics=['acc'])

model_base = model

不要忘记删除您的分类器