上次筆者給大家介紹了如何訓練主機健康度數據并如何介紹了如何優化主機健康度的LSTM模型。本次分享給大家介紹如何在訓練完成之后對模型的保存及調用相關問題。
本次介紹主要包括:
如何將模型權重和模型體系結構保存在多帶帶的文件中
如何調用調用模型,并產生實時預測數據
Keras是用于深度學習的簡單而強大的Python庫。鑒于深度學習模型需要花費數小時,數天甚至數周的訓練時間,因此了解如何從磁盤保存和加載它們非常重要。在本文中,您將發現如何將Keras模型保存到文件中并再次加載它們以進行預測。
接下來我們來保存模型權重數據為H5形式的格式內容。
環境安裝
首先,確認您已安裝最新版本的Keras。注意:保存模型需要安裝h5py庫。您可以按照以下步驟輕松安裝它:
Sudopip install h5py
保存模型權重和架構
Keras保存模型及訓練數據十分簡單,是用模型權重和模型體系結構一起保存到單個H5文件中。
以這種方式保存模型包括我們需要了解的有關模型的所有信息,包括:
模型權重。
模型架構。
模型編譯詳細信息(損失和指標)。
模型優化器狀態。
這意味著我們可以直接加載和使用模型,而不必像訓練數據時那樣重新去編譯它。(注意:這是保存和加載Keras模型的首選方法)
您可以通過在模型上調用save()函數并指定文件名來保存模型。下面的示例只關于構建模型部分代碼,完整訓練需要查看上次訓練數據分享文章,評估模型并將其保存到文件model.h5來演示這一點。
訓練完成之后,在訓練腳本當前路徑下既會出現當前模型保存的h5格式模型文件。
在模型訓練完成并保存成功之后,我們即可對該模型的文件進行調用,并預測出新的數據結果。
首先,我們根據訓練模型,根據訓練數據的模型,封裝好調用數據進行調用,并對實時數據用歸一化處理數據。處理完成之后對實時數據進行歸一化處理。然后打印出預測結果。
我們隨機提取訓練數據中的某連續三個小時數據進行測試后發現,預測結果與實際數據相差比較大。后面通過debug后發現預測數據在進行數據歸一化處理是,數據縮放只會對輸入的實時數據進行縮放,而不是通過對訓練樣本中的數據進行縮放,所以導致預測結果和實際結果相差較大。
經過查閱相關資料,終于了解了在Keras中,對歸一化的數據也在訓練中可以進行保存。以便在后續的調用腳本中使用。
保存、加載數據縮放器
我們可以在訓練模型時將數據縮放器通過dump保存下來,
dump(scaler,open(scaler.pkl, wb))
然后在調用模型時,通過load方法加載出來數據縮放器。
為了確認縮放器具有預期的效果,我們在應用縮放之前和之后都報告每個輸入功能的最小值和最大值。然后,該模型對測試集中的示例進行預測,并計算分類準確性。在這種情況下,正如預期的那樣,數據集正確歸一化后,模型在測試集上的準確性達到了95%以上。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/130001.html
摘要:可以這樣說,庫使得創建深度學習模型變得快速且簡單。在本教程中,你將了解如何用中更具靈活性的函數式來定義深度學習模型。如何使用函數式定義簡單的多層感知器卷積神經網絡以及循環神經網絡模型。 可以這樣說,Keras Python庫使得創建深度學習模型變得快速且簡單。序列API使得你能夠為大多數問題逐層創建模型。當然它也是有局限性的,那就是它并不能讓你創建擁有共享層或具有多個輸入或輸出的模型。Ker...
摘要:我們在已經準備好的圖像數據集上,使用庫訓練一個卷積神經網絡。示例包含用于測試卷積神經網絡的圖像。訓練,繪制準確性損耗函數,然后將卷積神經網絡和類標簽二進制文件序列化到磁盤。第和行將訓練集和測試集按照的比例進行分割。 showImg(https://segmentfault.com/img/bV9lqk?w=698&h=698); 為了讓文章不那么枯燥,我構建了一個精靈圖鑒數據集(Pok...
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1858·2023-01-11 13:20
閱讀 4100·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3597·2023-01-11 13:20