Керас: Как загрузить предварительно обученные гири CNN (заморозив net), чтобы использовать их в LSTM? - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть эта модель cnn:

model = Sequential()
model.add(Convolution2D(32, (3, 3), activation='relu', input_shape=(n_rows,n_cols,1)))
model.add(Convolution2D(32, (3, 3), activation='relu'))
model.add(AveragePooling2D(pool_size=(1,3)))
model.add(Flatten())

model.add(Dense(1024, activation='relu')) #needed?
model.add(Dense(3)) #default linear activation

Я могу обучить ее и получить соответствующие веса.

После того, как я хочу загрузить веса до Flatten (плотная часть не нужна для второго этапа) и передать Flatten в LSTM.

Конечно, также предлагается использовать TimeDistributed на CNN net.

Как все это сделать: загрузить веса , принять только часть CNN, TimeDistribute это, и, наконец, добавить LSTM? Спасибо!

1 Ответ

0 голосов
/ 10 апреля 2020

Вы можете использовать model.save_weights("filename.h5") для сохранения весов и model.load_weights("filename.h5") для загрузки их обратно в модель.

Источник: https://keras.io/getting-started/faq/#savingloading -only-a-models-weights

...