当前位置:网站首页>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 .
边栏推荐
- Semantic segmentation model base segmentation_ models_ Detailed introduction to pytorch
- 韦东山第二期课程内容概要
- NVIDIA Jetson测试安装yolox过程记录
- Play sonar
- 图像数据预处理
- QT adds resource files, adds icons for qaction, establishes signal slot functions, and implements
- Langchao Yunxi distributed database tracing (II) -- source code analysis
- 基于人脸识别实现课堂抬头率检测
- 【愚公系列】2022年7月 Go教学课程 006-自动推导类型和输入输出
- 2022-07-07: the original array is a monotonic array with numbers greater than 0 and less than or equal to K. there may be equal numbers in it, and the overall trend is increasing. However, the number
猜你喜欢
随机推荐
Langchao Yunxi distributed database tracing (II) -- source code analysis
基于人脸识别实现课堂抬头率检测
【obs】Impossible to find entrance point CreateDirect3D11DeviceFromDXGIDevice
SDNU_ ACM_ ICPC_ 2022_ Summer_ Practice(1~2)
5G NR 系统消息
Installation and configuration of sublime Text3
SDNU_ACM_ICPC_2022_Summer_Practice(1~2)
国外众测之密码找回漏洞
What if the testing process is not perfect and the development is not active?
Play sonar
After going to ByteDance, I learned that there are so many test engineers with an annual salary of 40W?
Lecture 1: the entry node of the link in the linked list
牛客基础语法必刷100题之基本类型
Vscode software
QT adds resource files, adds icons for qaction, establishes signal slot functions, and implements
NVIDIA Jetson测试安装yolox过程记录
My best game based on wechat applet development
From starfish OS' continued deflationary consumption of SFO, the value of SFO in the long run
Basic types of 100 questions for basic grammar of Niuke
Stock account opening is free of charge. Is it safe to open an account on your mobile phone





![[note] common combined filter circuit](/img/2f/a8c2ef0d76dd7a45b50a64a928a9c8.png)



