When you saved your model using:
old_model.save('my_model.h5')
it will save following:
- The architecture of the model, allowing to create the model.
- The weights of the model.
- The training configuration of the model (loss, optimizer).
- The state of the optimizer, allowing training to resume from where you left before.
So then, when you load the model:
res50_model = load_model('my_model.h5')
you should get the same model back, you can verify the same using:
res50_model.summary()
res50_model.get_weights()
Now you can, pop the input layer and add your own using:
res50_model.layers.pop(0)
res50_model.summary()
add new input layer:
newInput = Input(batch_shape=(0,299,299,3)) # let us say this new InputLayer
newOutputs = res50_model(newInput)
newModel = Model(newInput, newOutputs)
newModel.summary()
res50_model.summary()
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…