Tensorflow 从另一个经过培训的模型创建keras模型

Tensorflow 从另一个经过培训的模型创建keras模型,tensorflow,machine-learning,keras,deep-learning,Tensorflow,Machine Learning,Keras,Deep Learning,我正在尝试从另一个经过培训的keras模型创建一个新的keras模型 参考模型培训的示例代码: 将模型另存为json json_obj = model.to_json() new_model = keras.models.model_from_json(json_obj) 但是在创建新的\u模型后,权重不同: model.get_weights() != new_model.get_weights() 如果我从_config()使用创建新的_模型,情况也是如此。问题是,当我从model创建n

我正在尝试从另一个经过培训的
keras
模型创建一个新的
keras
模型

参考模型培训的示例代码:

将模型另存为
json

json_obj = model.to_json()
new_model = keras.models.model_from_json(json_obj)
但是在创建
新的\u模型后,
权重不同:

model.get_weights() != new_model.get_weights()

如果我从_config()
使用
创建
新的_模型
,情况也是如此。问题是,当我从
model
创建
new\u model
时,
model
new\u model
的权重不应该相同吗?或者我的理解是错误的?任何建议都很有帮助

,因为json
不保存模型的权重,只保存体系结构

请点击此处:

我建议你使用这个方法

如果要将模型直接复制到另一个模型,请执行以下操作:

new_model = tf.keras.models.clone_model(model)
new_model.set_weights(model.get_weights())

在这种情况下,你能解释一下新的
模型是如何得到它的权重的吗?我认为是默认的,随机初始化。
new_model = tf.keras.models.clone_model(model)
new_model.set_weights(model.get_weights())