第2章 2.6 模型的保存與加載_第1頁
第2章 2.6 模型的保存與加載_第2頁
第2章 2.6 模型的保存與加載_第3頁
第2章 2.6 模型的保存與加載_第4頁
第2章 2.6 模型的保存與加載_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

模型的保存與加載模型的保存與加載Keras提供了如下幾種模型的保存與加載的方法。(1)使用model.save(filepath)將模型保存到單個HDF5文件中。該文件將包含:模型的結(jié)構(gòu),允許重新創(chuàng)建模型;模型的權(quán)重;訓(xùn)練配置項(損失函數(shù)、優(yōu)化器);優(yōu)化器狀態(tài),允許準(zhǔn)確地從上次結(jié)束的地方繼續(xù)訓(xùn)練。保存好模型之后,可以用model=load_model(filepath)載入程序所在目錄下名為filepath的路徑中所保存的模型,其中l(wèi)oad_model是keras.models下的一個函數(shù)。(2)使用json_string=model.to_json()或yaml_string=model.to_yaml(),返回模型結(jié)構(gòu)的JSON格式或YAML格式的字符串,而非其權(quán)重或訓(xùn)練配置項。使用model_from_json(json_string)或model_from_yaml(yaml_string)函數(shù)即可恢復(fù)模型的結(jié)構(gòu),其中model_from_json和model_from_yaml是keras.models下的函數(shù)。(3)使用model.save_weights(filepath),只保存模型的權(quán)重。model.load_weights(filepath)可以恢復(fù)所保存的權(quán)重,但是需要模型的定義代碼。如果需要將權(quán)重加載到不同結(jié)構(gòu)(有一些共同名字的層)的模型中,例如微調(diào)或遷移學(xué)習(xí),則可以按層的名字來加載權(quán)重model.load_weights(filepath,by_name=True)。實訓(xùn)1利用Keras進(jìn)行數(shù)據(jù)加載與增強(1)掌握Keras圖像數(shù)據(jù)加載的方法(2)掌握Keras圖像數(shù)據(jù)增強的方法1.訓(xùn)練要點2.需求說明cifar10數(shù)據(jù)集一共包含10個類別的RGB彩色圖片:飛機(airplane)、汽車(automobile)、鳥類(bird)、貓(cat)、鹿(deer)、狗(dog)、蛙類(frog)、馬(horse)、船(ship)和卡車(truck)。圖片的尺寸為32×32,一共有50000張訓(xùn)練圖片和10000張測試圖片。設(shè)cifar10的訓(xùn)練數(shù)據(jù)分別存在10個文件夾(不能直接使用keras.datasets.cifar10讀?。總€文件夾的圖像來自同一類別。用Keras的ImageDataGenerator類從硬盤的文件夾中分批讀取圖像數(shù)據(jù)進(jìn)行訓(xùn)練,并且設(shè)置合適的參數(shù)進(jìn)行實時數(shù)據(jù)增強,對比無增強時的實驗結(jié)果。訓(xùn)練數(shù)據(jù)文件夾結(jié)構(gòu)如右圖,驗證數(shù)據(jù)的存儲方式類似。實訓(xùn)1利用Keras進(jìn)行數(shù)據(jù)加載與增強(1)利用模塊keras.preprocessing.image.ImageDataGenerator,傳入合適的數(shù)據(jù)增強的參數(shù)來實例化一個Image

DataGenerator對象。(2)利用該對象的flow_from_directory函數(shù),傳入訓(xùn)練圖像數(shù)據(jù)所在的路徑,實時讀取數(shù)據(jù)。(3)構(gòu)造一個簡單的全連接神經(jīng)網(wǎng)絡(luò),并設(shè)置好優(yōu)化器和損失函數(shù)。(4)把flow_from_directory函數(shù)返回的對象傳入fit函數(shù)中,訓(xùn)練神經(jīng)網(wǎng)絡(luò)。3.實現(xiàn)思路及步驟實訓(xùn)2利用Keras構(gòu)建網(wǎng)絡(luò)并訓(xùn)練(1)掌握Keras構(gòu)建網(wǎng)絡(luò)的方法(2)掌握Keras進(jìn)行訓(xùn)練的方法1.訓(xùn)練要點2.需求說明對cifar10數(shù)據(jù)集(可以直接使用keras.datasets.cifar10讀取),做如下實驗。(1)構(gòu)建合適的全連接網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行分類,并定義一個自定義的全連接層加入網(wǎng)絡(luò)中。(2)使用不同的激活函數(shù),比如ReLU、Sigmoid、Softmax,并對比結(jié)果。(3)分別選擇SGD、Adam、RMSprop等優(yōu)化器求解模型,設(shè)置合適的參數(shù)。并使用學(xué)習(xí)率時間表來調(diào)整優(yōu)化器的學(xué)習(xí)率。(4)對比使用各種損失函數(shù)的結(jié)果:分類交叉熵?fù)p失、稀疏分類交叉熵?fù)p失、均方誤差損失、KL散度損失等實訓(xùn)2利用Keras構(gòu)建網(wǎng)絡(luò)并訓(xùn)練2.需求說明(5)利用回調(diào),設(shè)置ModelCheckpoint,把訓(xùn)練過程中對驗證集分類精度最高的模型保存為.h5文件。另寫一個.py文件,不用重新訓(xùn)練模型,直接讀取.h5文件和測試數(shù)據(jù)計算分類精度。(6)利用回調(diào),記錄TensorBoard日志,并且在瀏覽器中可視化訓(xùn)練過程。3.實現(xiàn)思路及步驟(1)參考2.3.2小節(jié)實現(xiàn)自定義的全連接層。(2)參考2.3.2小節(jié)選擇使用不同的激活函數(shù)。(3)參考2.4.1小節(jié)選擇使用不同的優(yōu)化器。(4)參考2.4.2小節(jié)選擇使用不同的損失函數(shù)。(5)參考2.5.2小節(jié)設(shè)置回調(diào)檢查。(6)參考2.5.2小節(jié)設(shè)置TensorBoard日志并實現(xiàn)可視化。小結(jié)本章介紹了Keras深度學(xué)習(xí)通用流程,包括利用Keras進(jìn)行數(shù)據(jù)加載與預(yù)處理,利用Kera

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論