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 np
from keras.models import Sequential,load_model,save_model
from keras.layers import Dense,Activation ## 全连接层
from keras.datasets import mnist
from keras.utils import np_utils
from 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)/255
X_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)
## compile
model.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 model
print("model had been del")
# 再次载入模型
model = load_model("./model.hdf5")
# 预测
cost,accuracy = model.evaluate(X_test,Y_test)
print("accuracy:",accuracy)

实验结果为:

Epoch 1/2
60000/60000 [==============================] - 6s 104us/step - loss: 0.4217 - acc: 0.8888
Epoch 2/2
60000/60000 [==============================] - 6s 99us/step - loss: 0.2240 - acc: 0.9366
Test
10000/10000 [==============================] - 1s 149us/step
accuracy: 0.9419
model had been del
10000/10000 [==============================] - 1s 117us/step
accuracy: 0.9419

以上就是python神经网络使用Keras进行模型的保存与读取的详细内容,更多关于Keras模型保存读取的资料请关注我们其它相关文章!

(0)

相关推荐

  • python神经网络学习使用Keras进行简单分类

    目录 学习前言 Keras中分类的重要函数 1.np_utils.to_categorical 2.Activation 3.metrics=[‘accuracy’] 全部代码 学习前言 上一步讲了如何构建回归算法,这一次将怎么进行简单分类. Keras中分类的重要函数 1.np_utils.to_categorical np_utils.to_categorical用于将标签转化为形如(nb_samples, nb_classes)的二值序列. 假设num_classes = 10. 如将[1

  • python神经网络使用Keras构建RNN训练

    目录 Keras中构建RNN的重要函数 1.SimpleRNN 2.model.train_on_batch Keras中构建RNN的重要函数 1.SimpleRNN SimpleRNN用于在Keras中构建普通的简单RNN层,在使用前需要import. from keras.layers import SimpleRNN 在实际使用时,需要用到几个参数. model.add( SimpleRNN( batch_input_shape = (BATCH_SIZE,TIME_STEPS,INPUT

  • Python基于keras训练实现微笑识别的示例详解

    目录 一.数据预处理 二.训练模型 创建模型 训练模型 训练结果 三.预测 效果 四.源代码 pretreatment.py train.py predict.py 一.数据预处理 实验数据来自genki4k 提取含有完整人脸的图片 def init_file():     num = 0     bar = tqdm(os.listdir(read_path))     for file_name in bar:         bar.desc = "预处理图片: "      

  • python神经网络Keras构建CNN网络训练

    目录 Keras中构建CNN的重要函数 1.Conv2D 2.MaxPooling2D 3.Flatten 全部代码 利用Keras构建完普通BP神经网络后,还要会构建CNN Keras中构建CNN的重要函数 1.Conv2D Conv2D用于在CNN中构建卷积层,在使用它之前需要在库函数处import它. from keras.layers import Conv2D 在实际使用时,需要用到几个参数. Conv2D( nb_filter = 32, nb_row = 5, nb_col = 5

  • python神经网络学习使用Keras进行回归运算

    目录 学习前言 什么是Keras Keras中基础的重要函数 1.Sequential 2.Dense 3.model.compile 全部代码 学习前言 看了好多Github,用于保存模型的库都是Keras,我觉得还是好好学习一下的好 什么是Keras Keras是一个由Python编写的开源人工神经网络库,可以作Tensorflow.Microsoft-CNTK和Theano的高阶应用程序接口,进行深度学习模型的设计.调试.评估.应用和可视化. Keras相当于比Tensorflow和The

  • python神经网络使用Keras进行模型的保存与读取

    目录 学习前言 Keras中保存与读取的重要函数 1.model.save 2.load_model 全部代码 学习前言 开始做项目的话,有些时候会用到别人训练好的模型,这个时候要学会load噢. Keras中保存与读取的重要函数 1.model.save model.save用于保存模型,在保存模型前,首先要利用pip install安装h5py的模块,这个模块在Keras的模型保存与读取中常常被使用,用于定义保存格式. pip install h5py 完成安装后,可以通过如下函数保存模型.

  • python深度学习TensorFlow神经网络模型的保存和读取

    目录 之前的笔记里实现了softmax回归分类.简单的含有一个隐层的神经网络.卷积神经网络等等,但是这些代码在训练完成之后就直接退出了,并没有将训练得到的模型保存下来方便下次直接使用.为了让训练结果可以复用,需要将训练好的神经网络模型持久化,这就是这篇笔记里要写的东西. TensorFlow提供了一个非常简单的API,即tf.train.Saver类来保存和还原一个神经网络模型. 下面代码给出了保存TensorFlow模型的方法: import tensorflow as tf # 声明两个变量

  • python神经网络slim常用函数训练保存模型

    目录 学习前言 slim是什么 slim常用函数 1.slim = tf.contrib.slim 2.slim.create_global_step 3.slim.dataset.Dataset 4.slim.dataset_data_provider.DatasetDataProvider 5.slim.conv2d 6.slim.max_pool2d 7.slim.fully_connected 8.slim.learning.train 本次博文实现的目标 整体框架构建思路 1.整体框架

  • python神经网络Keras GhostNet模型的实现

    目录 什么是GhostNet模型 GhostNet模型的实现思路 1.Ghost Module 2.Ghost Bottlenecks 3.Ghostnet的构建 GhostNet的代码构建 1.模型代码的构建 2.Yolov4上的应用 什么是GhostNet模型 GhostNet是华为诺亚方舟实验室提出来的一个非常有趣的网络,我们一起来学习一下. 2020年,华为新出了一个轻量级网络,命名为GhostNet. 在优秀CNN模型中,特征图存在冗余是非常重要的.如图所示,这个是对ResNet-50

  • python神经网络AlexNet分类模型训练猫狗数据集

    目录 什么是AlexNet模型 训练前准备 1.数据集处理 2.创建Keras的AlexNet模型 开始训练 1.训练的主函数 2.Keras数据生成器 3.主训练函数全部代码 训练结果 最近在做实验室的工作,要用到分类模型,老板一星期催20次,我也是无语了,上有对策下有政策,在下先找个猫猫狗狗的数据集练练手,快乐极了 什么是AlexNet模型 AlexNet是2012年ImageNet竞赛冠军获得者Hinton和他的学生Alex Krizhevsky设计的.也是在那年之后,更多的更深的神经网络

  • Python搭建Keras CNN模型破解网站验证码的实现

    在本项目中,将会用Keras来搭建一个稍微复杂的CNN模型来破解以上的验证码.验证码如下: 利用Keras可以快速方便地搭建CNN模型,本项目搭建的CNN模型如下: 将数据集分为训练集和测试集,占比为8:2,该模型训练的代码如下: # -*- coding: utf-8 -*- import numpy as np import pandas as pd from sklearn.model_selection import train_test_split from matplotlib im

  • python神经网络tensorflow利用训练好的模型进行预测

    目录 学习前言 载入模型思路 实现代码 学习前言 在神经网络学习中slim常用函数与如何训练.保存模型文章里已经讲述了如何使用slim训练出来一个模型,这篇文章将会讲述如何预测. 载入模型思路 载入模型的过程主要分为以下四步: 1.建立会话Session: 2.将img_input的placeholder传入网络,建立网络结构: 3.初始化所有变量: 4.利用saver对象restore载入所有参数. 这里要注意的重点是,在利用saver对象restore载入所有参数之前,必须要建立网络结构,因

随机推荐