当前位置:网站首页>13. Model saving and loading
13. Model saving and loading
2022-07-08 00:55:00 【booze-J】
article
We save 3.MNIST Data set classification Take the training model in as an example , To demonstrate the saving and loading of the model .
The first way to save and load models
1. Save the way
To save the model, you only need to add after the model training
# Save the model The structure and parameters of the model can be saved at the same time
model.save("model.h5") # HDF5 file ,pip install h5py
This saving method can save the structure and parameters of the model at the same time .
2. Loading mode
Before loading the model, you need to import load_model Method
from keras.models import load_model
Then the loaded code is a simple sentence :
# Load model
model = load_model("../model.h5")
This loading method can load the structure and parameters of the model at the same time .
The second way to save and load models
1. Save the way
Model parameters and model structure are stored separately :
# Save parameters
model.save_weights("my_model_weights.h5")
# Save network structure
json_string = model.to_json()
2. Loading mode
Before loading the model structure , You need to import model_from_json() Method
from keras.models import model_from_json
Load network parameters and network structure respectively :
# Load parameters
model.load_weights("my_model_weights.h5")
# Load model structure
model = model_from_json(json_string)
Model retraining
The code running platform is jupyter-notebook, Code blocks in the article , According to jupyter-notebook Written in the order of division in , Run article code , Glue directly into jupyter-notebook that will do .
In fact, the model can be retrained after loading .
1. Import third-party library
import numpy as np
from keras.datasets import mnist
from keras.utils import np_utils
from keras.models import Sequential
from keras.layers import Dense
from keras.models import load_model
2. Loading data and data preprocessing
# Load data
(x_train,y_train),(x_test,y_test) = mnist.load_data()
# (60000, 28, 28)
print("x_shape:\n",x_train.shape)
# (60000,) Not yet one-hot code You need to operate by yourself later
print("y_shape:\n",y_train.shape)
# (60000, 28, 28) -> (60000,784) reshape() Middle parameter filling -1 Parameter results can be calculated automatically Divide 255.0 To normalize
x_train = x_train.reshape(x_train.shape[0],-1)/255.0
x_test = x_test.reshape(x_test.shape[0],-1)/255.0
# in one hot Format
y_train = np_utils.to_categorical(y_train,num_classes=10)
y_test = np_utils.to_categorical(y_test,num_classes=10)
3. Model retraining
# Load model
model = load_model("../model.h5")
# Evaluation model
loss,accuracy = model.evaluate(x_test,y_test)
print("\ntest loss",loss)
print("accuracy:",accuracy)
Running results :
Compare the first saved model :
It can be found that the accuracy of the retraining model on the test set has been improved .
边栏推荐
- Langchao Yunxi distributed database tracing (II) -- source code analysis
- Is it safe to speculate in stocks on mobile phones?
- 攻防演练中沙盘推演的4个阶段
- 22年秋招心得
- ReentrantLock 公平锁源码 第0篇
- 8道经典C语言指针笔试题解析
- SDNU_ACM_ICPC_2022_Summer_Practice(1~2)
- After going to ByteDance, I learned that there are so many test engineers with an annual salary of 40W?
- What does interface testing test?
- Four stages of sand table deduction in attack and defense drill
猜你喜欢
随机推荐
Qt添加资源文件,为QAction添加图标,建立信号槽函数并实现
第四期SFO销毁,Starfish OS如何对SFO价值赋能?
Application practice | the efficiency of the data warehouse system has been comprehensively improved! Data warehouse construction based on Apache Doris in Tongcheng digital Department
新库上线 | CnOpenData中国星级酒店数据
Password recovery vulnerability of foreign public testing
大数据开源项目,一站式全自动化全生命周期运维管家ChengYing(承影)走向何方?
51 communicates with the Bluetooth module, and 51 drives the Bluetooth app to light up
Cve-2022-28346: Django SQL injection vulnerability
A network composed of three convolution layers completes the image classification task of cifar10 data set
SDNU_ ACM_ ICPC_ 2022_ Summer_ Practice(1~2)
QT establish signal slots between different classes and transfer parameters
13.模型的保存和载入
Hotel
What is load balancing? How does DNS achieve load balancing?
v-for遍历元素样式失效
How to learn a new technology (programming language)
《因果性Causality》教程,哥本哈根大学Jonas Peters讲授
基于微信小程序开发的我最在行的小游戏
Summary of the third course of weidongshan
取消select的默认样式的向下箭头和设置select默认字样








