一、自定義層和網絡
1.自定義層
①必須繼承自layers.layer
②必須實現(xiàn)兩個方法,__init__和call
這個層,實現(xiàn)的就是創(chuàng)建參數(shù),以及一層的前向傳播。
添加參數(shù)使用self.add_weight,直接調用即可,因為已經在母類中實現(xiàn)。
在call方法中,實現(xiàn)前向傳播并返回結果即可。
2.自定義網絡
①必須繼承自keras.Model
②必須實現(xiàn)兩個方法,__init__和call
這個網絡,就可以使用我們定義好的MyDense層,來進行堆疊。
在init方法中設置好每一層的連接方式,以及維度。
在call方法中,就要實現(xiàn)前向傳播,可以在這里對網絡結構前向傳播進行實現(xiàn)。如果在層中沒有添加activation的話,在這里需要添加relu等激活函數(shù)。
二、模型的保存和加載
1.保存參數(shù)
通過save_weights方法可以保存參數(shù),提供路徑即可,加載的時候,先創(chuàng)建好和之前的網絡結構一模一樣的網絡結構,導入?yún)?shù)即可。
2.保存整個模型
通過model.save(),保存整個模型,包括結構,層的名字,參數(shù),維度等等所有信息。
恢復的時候不需要再創(chuàng)建網絡。直接通過tf.keras.models.load_model讀取即可。
以上就是python人工智能TensorFlow自定義層及模型保存的詳細內容,更多關于TensorFlow自定義層及模型保存的資料請關注服務器之家其它相關文章!
原文鏈接:https://blog.csdn.net/Swayzzu/article/details/121254124