当前位置:网站首页>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 .
边栏推荐
猜你喜欢
Kubernetes Static Pod (静态Pod)
Jouer sonar
They gathered at the 2022 ecug con just for "China's technological power"
SDNU_ACM_ICPC_2022_Summer_Practice(1~2)
Qt添加资源文件,为QAction添加图标,建立信号槽函数并实现
How to insert highlighted code blocks in WPS and word
《因果性Causality》教程,哥本哈根大学Jonas Peters讲授
Codeforces Round #804 (Div. 2)(A~D)
Reentrantlock fair lock source code Chapter 0
接口测试进阶接口脚本使用—apipost(预/后执行脚本)
随机推荐
The method of server defense against DDoS, Hangzhou advanced anti DDoS IP section 103.219.39 x
Hotel
Four stages of sand table deduction in attack and defense drill
深潜Kotlin协程(二十三 完结篇):SharedFlow 和 StateFlow
51 communicates with the Bluetooth module, and 51 drives the Bluetooth app to light up
Application practice | the efficiency of the data warehouse system has been comprehensively improved! Data warehouse construction based on Apache Doris in Tongcheng digital Department
串口接收一包数据
Cve-2022-28346: Django SQL injection vulnerability
Cause analysis and solution of too laggy page of [test interview questions]
The weight of the product page of the second level classification is low. What if it is not included?
大二级分类产品页权重低,不收录怎么办?
Basic principle and usage of dynamic library, -fpic option context
Introduction to paddle - using lenet to realize image classification method I in MNIST
【obs】Impossible to find entrance point CreateDirect3D11DeviceFromDXGIDevice
SDNU_ACM_ICPC_2022_Summer_Practice(1~2)
Cascade-LSTM: A Tree-Structured Neural Classifier for Detecting Misinformation Cascades(KDD20)
Stock account opening is free of charge. Is it safe to open an account on your mobile phone
深潜Kotlin协程(二十二):Flow的处理
FOFA-攻防挑战记录
Qt不同类之间建立信号槽,并传递参数