python神经网络使用Keras进行模型的保存与读取
目录
- 学习前言
- Keras中保存与读取的重要函数
- 1、model.save
- 2、load_model
- 全部代码
学习前言 开始做项目的话,有些时候会用到别人训练好的模型,这个时候要学会load噢。
Keras中保存与读取的重要函数
1、model.save
model.save用于保存模型,在保存模型前,首先要利用pip install安装h5py的模块,这个模块在Keras的模型保存与读取中常常被使用,用于定义保存格式。
pip install h5py
完成安装后,可以通过如下函数保存模型。
model.save("./model.hdf5")
其中,model是已经训练完成的模型,save函数传入的参数就是保存后的位置+名字。
2、load_model
load_model用于载入模型。
具体使用方式如下:
model = load_model("./model.hdf5")
其中,load_model函数传入的参数就是已经完成保存的模型的位置+名字。./表示保存在当前目录。
全部代码 这是一个简单的手写体识别例子,在之前也讲解过如何构建
python神经网络学习使用Keras进行简单分类,在最后我添加上了模型的保存与读取函数。
import numpy as npfrom keras.models import Sequential,load_model,save_modelfrom keras.layers import Dense,Activation ## 全连接层from keras.datasets import mnistfrom keras.utils import np_utilsfrom keras.optimizers import RMSprop# 获取训练集(X_train,Y_train),(X_test,Y_test) = mnist.load_data()# 首先进行标准化 X_train = X_train.reshape(X_train.shape[0],-1)/255X_test = X_test.reshape(X_test.shape[0],-1)/255# 计算categorical_crossentropy需要对分类结果进行categorical# 即需要将标签转化为形如(nb_samples, nb_classes)的二值序列Y_train = np_utils.to_categorical(Y_train,num_classes= 10)Y_test = np_utils.to_categorical(Y_test,num_classes= 10)# 构建模型model = Sequential([Dense(32,input_dim = 784),Activation("relu"),Dense(10),Activation("softmax")])rmsprop = RMSprop(lr = 0.001,rho = 0.9,epsilon = 1e-08,decay = 0)## compilemodel.compile(loss = 'categorical_crossentropy',optimizer = rmsprop,metrics=['accuracy'])print("\ntraining")cost = model.fit(X_train,Y_train,nb_epoch = 2,batch_size = 100)print("\nTest")# 测试cost,accuracy = model.evaluate(X_test,Y_test)print("accuracy:",accuracy)# 保存模型model.save("./model.hdf5")# 删除现有模型del modelprint("model had been del")# 再次载入模型model = load_model("./model.hdf5")# 预测cost,accuracy = model.evaluate(X_test,Y_test)print("accuracy:",accuracy)
实验结果为:
Epoch 1/260000/60000 [==============================] - 6s 104us/step - loss: 0.4217 - acc: 0.8888Epoch 2/260000/60000 [==============================] - 6s 99us/step - loss: 0.2240 - acc: 0.9366Test10000/10000 [==============================] - 1s 149us/stepaccuracy: 0.9419model had been del10000/10000 [==============================] - 1s 117us/stepaccuracy: 0.9419
【python神经网络使用Keras进行模型的保存与读取】以上就是python神经网络使用Keras进行模型的保存与读取的详细内容,更多关于Keras模型保存读取的资料请关注脚本之家其它相关文章!
推荐阅读
- python中|python中 @的含义以及基本使用方法
- 使用Hbuilder打包app
- 高级T-SQL进阶系列 上篇(使用 APPLY操作符)
- PyTorch二维张量使用图解
- PyTorch实战(图像识别的神经网络验证)
- PyTorch高阶(卷积神经网络模型的验证(图解))
- PyTorch实战(卷积神经网络模型的训练)
- RT-Thread|RT-Thread 应用篇 — 在STM32L051上使用 RT-Thread (五、无线温湿度传感器 之 完结篇)
- RT-Thread|RT-Thread 应用篇 — 在STM32L051上使用 RT-Thread (四、无线温湿度传感器 之 串口通讯)
- Android 选项菜单Option Menu 使用