python神經(jīng)網(wǎng)絡(luò)使用Keras進(jìn)行模型的保存與讀取
學(xué)習(xí)前言
開始做項(xiàng)目的話,有些時(shí)候會(huì)用到別人訓(xùn)練好的模型,這個(gè)時(shí)候要學(xué)會(huì)load噢。
Keras中保存與讀取的重要函數(shù)
1、model.save
model.save用于保存模型,在保存模型前,首先要利用pip install安裝h5py的模塊,這個(gè)模塊在Keras的模型保存與讀取中常常被使用,用于定義保存格式。
pip install h5py
完成安裝后,可以通過如下函數(shù)保存模型。
model.save("./model.hdf5")其中,model是已經(jīng)訓(xùn)練完成的模型,save函數(shù)傳入的參數(shù)就是保存后的位置+名字。
2、load_model
load_model用于載入模型。
具體使用方式如下:
model = load_model("./model.hdf5")其中,load_model函數(shù)傳入的參數(shù)就是已經(jīng)完成保存的模型的位置+名字。./表示保存在當(dāng)前目錄。
全部代碼
這是一個(gè)簡(jiǎn)單的手寫體識(shí)別例子,在之前也講解過如何構(gòu)建
python神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)使用Keras進(jìn)行簡(jiǎn)單分類,在最后我添加上了模型的保存與讀取函數(shù)。
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ùn)練集
(X_train,Y_train),(X_test,Y_test) = mnist.load_data()
# 首先進(jìn)行標(biāo)準(zhǔn)化
X_train = X_train.reshape(X_train.shape[0],-1)/255
X_test = X_test.reshape(X_test.shape[0],-1)/255
# 計(jì)算categorical_crossentropy需要對(duì)分類結(jié)果進(jìn)行categorical
# 即需要將標(biāo)簽轉(zhuǎn)化為形如(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)
# 構(gòu)建模型
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")
# 測(cè)試
cost,accuracy = model.evaluate(X_test,Y_test)
print("accuracy:",accuracy)
# 保存模型
model.save("./model.hdf5")
# 刪除現(xiàn)有模型
del model
print("model had been del")
# 再次載入模型
model = load_model("./model.hdf5")
# 預(yù)測(cè)
cost,accuracy = model.evaluate(X_test,Y_test)
print("accuracy:",accuracy)
實(shí)驗(yàn)結(jié)果為:
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神經(jīng)網(wǎng)絡(luò)使用Keras進(jìn)行模型的保存與讀取的詳細(xì)內(nèi)容,更多關(guān)于Keras模型保存讀取的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- python神經(jīng)網(wǎng)絡(luò)Keras實(shí)現(xiàn)LSTM及其參數(shù)量詳解
- python神經(jīng)網(wǎng)絡(luò)facenet人臉檢測(cè)及keras實(shí)現(xiàn)
- python神經(jīng)網(wǎng)絡(luò)Keras構(gòu)建CNN網(wǎng)絡(luò)訓(xùn)練
- python神經(jīng)網(wǎng)絡(luò)使用Keras構(gòu)建RNN訓(xùn)練
- python神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)使用Keras進(jìn)行回歸運(yùn)算
- python神經(jīng)網(wǎng)絡(luò)Keras實(shí)現(xiàn)GRU及其參數(shù)量
相關(guān)文章
Python實(shí)現(xiàn)爬取網(wǎng)頁(yè)中動(dòng)態(tài)加載的數(shù)據(jù)
這篇文章主要介紹了Python實(shí)現(xiàn)爬取網(wǎng)頁(yè)中動(dòng)態(tài)加載的數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
Python中BeautifulSoup通過查找Id獲取元素信息
這篇文章主要介紹了Python中BeautifulSoup通過查找Id獲取元素信息,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
使用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的文件搜索引擎
這篇文章主要為大家詳細(xì)介紹了Python中文件操作的基礎(chǔ)和進(jìn)階知識(shí)并基于以上知識(shí)實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的文件搜索引擎,感興趣的小伙伴可以參考一下2024-05-05
PyTorch里面的torch.nn.Parameter()詳解
今天小編就為大家分享一篇PyTorch里面的torch.nn.Parameter()詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01
使用Python高效獲取網(wǎng)絡(luò)數(shù)據(jù)的操作指南
網(wǎng)絡(luò)爬蟲是一種自動(dòng)化程序,用于訪問和提取網(wǎng)站上的數(shù)據(jù),Python是進(jìn)行網(wǎng)絡(luò)爬蟲開發(fā)的理想語(yǔ)言,擁有豐富的庫(kù)和工具,使得編寫和維護(hù)爬蟲變得簡(jiǎn)單高效,本文將詳細(xì)介紹如何使用Python進(jìn)行網(wǎng)絡(luò)爬蟲開發(fā),包括基本概念、常用庫(kù)、數(shù)據(jù)提取方法、反爬措施應(yīng)對(duì)以及實(shí)際案例2025-03-03
python中matplotlib實(shí)現(xiàn)隨鼠標(biāo)滑動(dòng)自動(dòng)標(biāo)注代碼
這篇文章主要介紹了python中matplotlib實(shí)現(xiàn)隨鼠標(biāo)滑動(dòng)自動(dòng)標(biāo)注代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-04-04
Python 創(chuàng)建TCP服務(wù)器的方法
這篇文章主要介紹了Python 創(chuàng)建TCP服務(wù)器的方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07
Django haystack實(shí)現(xiàn)全文搜索代碼示例
這篇文章主要介紹了Django haystack實(shí)現(xiàn)全文搜索代碼示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
Tensorflow2.1實(shí)現(xiàn)Fashion圖像分類示例詳解
這篇文章主要為大家介紹了Tensorflow2.1實(shí)現(xiàn)Fashion圖像分類示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11

