您正在保存权重,而不是整个模型。模型不仅仅是权重,包括架构,损失,指标等。
你有两个解决方案:
1)保存权重:在这种情况下,在模型加载时,您需要重新创建模型,加载权重,然后编译模型。你的代码应该是这样的:
model = Sequential() model.add(Dense(60, input_dim=7, kernel_initializer='normal', activation='relu')) model.add(Dense(55, kernel_initializer='normal', activation='relu')) model.add(Dense(50, kernel_initializer='normal', activation='relu')) model.add(Dense(45, kernel_initializer='normal', activation='relu')) model.add(Dense(30, kernel_initializer='normal', activation='relu')) model.add(Dense(20, kernel_initializer='normal', activation='relu')) model.add(Dense(1, kernel_initializer='normal')) model.load_weights("kwhFinal.h5") model.compile(loss='mse', optimizer='adam', metrics=[rmse])
2)通过此命令保存整个模型:
model.save("kwhFinal.h5")
在加载过程中使用此命令加载模型:
from keras.models import load_model model=load_model("kwhFinal.h5")
将模型保存为:
在加载模型时,您需要添加您定义的自定义度量标准函数。
model=load_model("kwhFinal.h5",custom_objects={'rmse': rmse})