Я обучил модель, используя вложения слов GloVe, и сохранил архитектуру и вес модели. Я хочу внести небольшие изменения в сеть моделей и снова обучить модель. Вот мой код:
#Load back model, change architecture, train, predict
from keras import regularizers
from keras import layers
from keras.models import load_model
def create_model():
model = Sequential()
model.add(Embedding(max_fatures, embed_dim,input_length = X_train.shape[1]))
model.add(Bidirectional(LSTM(150, return_sequences=True, dropout= 0.1, recurrent_dropout=0.1)))
model.add(GlobalMaxPool1D())
model.add(Dense(50, activation="relu"))
model.add(Dropout(0.1))
model.add(Dense(6, activation="sigmoid"))
#Load GloVe
model.layers[0].set_weights([embedding_matrix])
model.layers[0].trainable = False
model = load_model('/content/model_num2.h5')
model.fit(X_train,y_train, nb_epoch=2, batch_size=32, show_accuracy=True, validation_split=0.1, verbose=2)
return(model)
model2 = create_model()
Когда я вызываю модель2, она не работает. Сообщение об ошибке:
ValueError: Cannot create group in read only mode.
Я изменил некоторые слои впереди в функции create_model (), и в конечном итоге я хочу обучить модель (используя веса, которые я ранее сохранил) и прогнозировать на тестовом наборе.
Любая помощь будет отличной!
Редактировать: забыл опубликовать часть, в которой компилируется модель. Добавил его в функцию.