我正在进行手动网格搜索以找到 keras 模型的最佳参数。对于每个参数组合,我检查其验证精度是否优于先前训练的模型而不是克隆该模型,以便在检查所有参数组合后,可以使用具有最佳验证精度的模型在测试集上进行预测。 问题是:为什么预测函数对于克隆模型的行为不同:'
我运行 Model.fit (...)
比 Model.predict (X_test) -- 它给我标签编码输出 和: 当我克隆这个模型时:
BestModel = keras.models.clone_model(model.model)
BestModel.predict (X_test) 给出概率。
附注:我的目标类首先是标签编码,然后是单热编码形式。
最佳答案
Keras 仅复制模型的结构,而不复制权重。您还需要将它们复制过来。例如
BestModel.set_weights(Model.get_weights())
关于python-3.x - 克隆前和克隆后的 keras 模型表现不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49195083/