Я пытаюсь обучить модель Keras, которая включает две вложенные модели, и я хочу сохранить веса обеих внутренних моделей по отдельности.Сейчас я могу сохранить веса всей модели, но не могу загрузить веса вложенных моделей в пределах большой модели.
Вывод Big_model.summary
выглядит следующим образом
Model: "model_3"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
input_4 (InputLayer) [(None, 128, 128, 1)] 0
_________________________________________________________________
model (Model) (None, 16, 16, 512) 170369024
_________________________________________________________________
model_1 (Model) (None, 128, 128, 1) 15342209
=================================================================
Total params: 185,711,233
Trainable params: 185,711,233
Non-trainable params: 0
Как я могу увидеть сводку обеих внутренних моделей, например, Big_model.inner_Model1.summary()
что-то в этом роде, или сохранить веса обеих внутренних моделей отдельно после тренировки, используя Big_model.inner_Model1.save_weights()
и Big_model.inner_Model2.save_weights()
или callbacks
во время model.fit
.
То, что я получаю, Big_model
не имеет модуля как inner_Model1
, Любая помощь, пожалуйста ??
PS: Нет проблем с обучением или чем-то еще, я могу запустить обучение, такжеЯ использую версию Tensorflow tf.keras.models.Model
для моделей.
Так я создаю модели
inner_Model1 = tf.keras.models.Model()
inner_Model2 = tf.keras.models.Model()
x = tf.keras.layers.Input(shape=IMAGE_SHAPE)
Big_model = tf.keras.models.Model(x, inner_model2(inner_model1(x)))
Big_model.compile(optimizer=optimizer, loss='mean_absolute_error')