python人工智能TensorFlow自定義層及模型保存
一、自定義層和網(wǎng)絡(luò)
1.自定義層
①必須繼承自layers.layer
②必須實(shí)現(xiàn)兩個(gè)方法,__init__和call
這個(gè)層,實(shí)現(xiàn)的就是創(chuàng)建參數(shù),以及一層的前向傳播。
添加參數(shù)使用self.add_weight,直接調(diào)用即可,因?yàn)橐呀?jīng)在母類中實(shí)現(xiàn)。
在call方法中,實(shí)現(xiàn)前向傳播并返回結(jié)果即可。
2.自定義網(wǎng)絡(luò)
①必須繼承自keras.Model
②必須實(shí)現(xiàn)兩個(gè)方法,__init__和call
這個(gè)網(wǎng)絡(luò),就可以使用我們定義好的MyDense層,來進(jìn)行堆疊。
在init方法中設(shè)置好每一層的連接方式,以及維度。
在call方法中,就要實(shí)現(xiàn)前向傳播,可以在這里對(duì)網(wǎng)絡(luò)結(jié)構(gòu)前向傳播進(jìn)行實(shí)現(xiàn)。如果在層中沒有添加activation的話,在這里需要添加relu等激活函數(shù)。
二、模型的保存和加載
1.保存參數(shù)
通過save_weights方法可以保存參數(shù),提供路徑即可,加載的時(shí)候,先創(chuàng)建好和之前的網(wǎng)絡(luò)結(jié)構(gòu)一模一樣的網(wǎng)絡(luò)結(jié)構(gòu),導(dǎo)入?yún)?shù)即可。
2.保存整個(gè)模型
通過model.save(),保存整個(gè)模型,包括結(jié)構(gòu),層的名字,參數(shù),維度等等所有信息。
恢復(fù)的時(shí)候不需要再創(chuàng)建網(wǎng)絡(luò)。直接通過tf.keras.models.load_model讀取即可。
以上就是python人工智能TensorFlow自定義層及模型保存的詳細(xì)內(nèi)容,更多關(guān)于TensorFlow自定義層及模型保存的資料請(qǐng)關(guān)注本站其它相關(guān)文章!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。