加载并使用保存的Keras模型.h5

时间:2018-11-08 14:30:41

标签: scikit-learn keras

我尝试将KerasClassifier(包装器)放入final_model.h5

validator  = GridSearchCV(estimator=clf, param_grid=param_grid)
grid_result = validator.fit(train_images, train_labels)
best_estimator = grid_result.best_estimator_
best_estimator.model.save("final_model.h5")

然后我想重用模型

from keras.models import load_model
loaded_model = load_model("final_model.h5")

但是似乎loaded_model现在是Sequential对象。换句话说,它不同于KerasClassifier之类的best_estimator对象

我想重用score中可用的KerasClassifier之类的方法,而Sequential模型中不可用的方法。我该怎么办?

此外,我想进一步了解如何继续进行final_model.h5结束的培训过程。我接下来该怎么办?

1 个答案:

答案 0 :(得分:3)

是的,最后,您将Keras模型保存为HDF5,而不是KerasClassifier,后者只是用于scikit-learn的适配器。

但是您实际上并不需要KerasClassifier实例,您需要http.authorizeRequests() .anyRequest().authenticated() .and() .addFilterAfter(new JWTAuthenticationFilter(),UsernamePasswordAuthenticationFilter.class) 函数,并且在keras中将此函数称为 public void configure(WebSecurity web) { web.ignoring().antMatchers(HttpMethod.POST, "/users/login"); } ,因此只需调用score,这将返回一个包含以下内容的列表首先是损失,然后是模型使用的任何指标(最有可能的准确性)。

要继续训练模型,只需加载模型并使用新的训练集调用evaluate即可。