Перенесите обучение в Keras с вашей собственной сохраненной моделью - PullRequest
0 голосов
/ 29 января 2019

Я видел несколько примеров трансферного обучения, где можно использовать предварительно обученные модели из 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 голосов
/ 29 января 2019

попробуйте

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

Не забудьте удалить свой классификатор

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...