2

我已经看到了一些迁移学习的示例,其中可以使用来自keras.application的预训练模型(Xception、VGG16、VGG19、ResNet50 等),但我想要的是从我使用model.save('模型.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')并将其作为层添加到我当前的模型中。

4

1 回答 1

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

不要忘记删除您的分类器

于 2019-01-29T13:07:28.847 回答