Keras克隆層

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_Amdl_B共享神經網絡的權重。解決的方法是使用clone使mdl_Amdl_B互不影響。

mdl_A_clone = keras.models.clone_model(model_A)
mdl_A_clone.set_weights(mdl_A.get_weights())

clone只拷貝網絡結構,不會拷貝權重等訓練好的參數,因此clone之後需要用set_weightsmdl_A的參數也一同拷貝過去。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章