- Keras深度学习:入门、实战与进阶
- 谢佳标
- 212字
- 2024-10-30 00:46:59
3.5.2 使用JSON格式保存模型
JSON的格式很简单,在Keras中可以用model_to_json()把模型结构导出为JSON格式,再用model_from_json()函数加载到R中。
> # 保存JSON文件到磁盘中 > json_config <- model_to_json(model) > writeLines(json_config,'models/model_config.json') > # 将网络结构和权重值加载到新模型中 > rm(list='json_config') > json_config <- readLines('models/model_config.json') > new_model2 <- model_from_json(json_config) > load_model_weights_hdf5(new_model2,'models/model_weights.h5') > # 利用模型对新数据进行预测 > set.seed(1234) > u <- as.matrix(data.frame('V1' = sample(X[,1],1), + 'V2' = sample(X[,2],1), + 'V3' = sample(X[,3],1), + 'V4' = sample(X[,4],1), + 'V5' = sample(X[,5],1), + 'V6' = sample(X[,6],1), + 'V7' = sample(X[,7],1), + 'V8' = sample(X[,8],1))) > predict(model,u) [,1] [1,] 0.431296 > predict(reinitialized_model,u) [,1] [1,] 0.431296 > predict(new_model2,u) [,1] [1,] 0.431296
可见,此模型对新数据的预测结果与其他模型相同。注意,此模型优化器未保留,如果我们想重新进行模型训练,需在训练前利用compile()函数编译网络。
> # 重新训练模型 > new_model2 %>% fit(X,y) Error in py_call_impl(callable, dots$args, dots$keywords) : RuntimeError: You must compile your model before training/testing. Use `model.compile(optimizer, loss)`.