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的参数也一同拷贝过去。

原文地址:https://www.cnblogs.com/yaos/p/14014169.html