keras瞎搞系列-加载和保存模型

本文介绍使用Keras进行模型的保存与加载方法,并通过一个简单的线性回归例子展示整个流程。模型保存采用model.save()函数,加载则使用load_model()函数。文中还对比了模型保存前后预测结果的一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

keras瞎搞系列-加载和保存模型

我们竟然会训练一些数据库,但是不可能每次遇到相同的结构and相同数据的时候,不可能每次都烧GPU去训练所以对于
每次训练的权重可以进行保存,留着下次再用。
对于keras来说加载和保存模型主要是依据model.save(),和model.load()。keras支持的数据库很多,所以除了h5应该还有别
的格式。
一小段线性回归的代码:
# -*- coding: utf-8 -*-
"""
Created on Tue Jan  9 18:30:55 2018

@author: lenovo
AlexNet
"""
import numpy as np
np.random.seed(1337)

from keras.models import Sequential
from keras.layers import Dense
from keras.models import load_model

X = np.linspace(-1,1,200)
np.random.shuffle(X)
Y = 0.5*X+2+np.random.normal(0,0.5,(200,))
X_train,Y_train = X[:160],Y[:160]
X_test,Y_test = X[160:],Y[160:]

model = Sequential()
model.add(Dense(units=1,input_dim=1))
model.compile(loss='mse',optimizer='sgd')
for step in range(1000):
    cost = model.train_on_batch(X_train,Y_train)
    #print(cost)
print('test before save: ',model.predict(X_test[0:2]))
print('test before valid:',Y_test[0:2])
#save

model.save('liner.h5')
del model
model = load_model('liner.h5')
print('test after load: ',model.predict(X_test[0:2]))

结果:
test before save:  [[ 1.9428829 ]
 [ 2.19649029]]
test before valid: [ 2.13569572  1.21056142]
test after load:  [[ 1.9428829 ]
 [ 2.19649029]]
看来一层还是有误差的,且比较大。。。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值