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模型保存读取的资料请关注脚本之家其它相关文章!

      推荐阅读