我已经看到了转移学习的一些示例,其中可以使用来自 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')加载保存的模型,并将其作为图层添加到当前模型中。
答案 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
不要忘记删除您的分类器