mdl_A = keras.models.load("mdl_A.hf")
mdl_B_on_A = keras.models.Sequential(mdl_A.layers[:-1])
mdl_B_on_A.add(keras.layers.Dense(1, activation = "sigmoid")
需要注意的是,此時mdl_A
和mdl_B
共享神經網絡的權重。解決的方法是使用clone
使mdl_A
和mdl_B
互不影響。
mdl_A_clone = keras.models.clone_model(model_A)
mdl_A_clone.set_weights(mdl_A.get_weights())
clone
只拷貝網絡結構,不會拷貝權重等訓練好的參數,因此clone
之後需要用set_weights
把mdl_A
的參數也一同拷貝過去。