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_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的参数也一同拷贝过去。
浙公网安备 33010602011771号