簡體   English   中英

keras 演示代碼 siamese_contrastive.py 保存和加載模型?

[英]keras demo code siamese_contrastive.py save and load model?

根據演示代碼

“使用具有對比損失的 Siamese 網絡進行圖像相似性估計” https://keras.io/examples/vision/siamese_contrastive/

我正在嘗試通過 model.save 將模型保存到 h5 或 hdf5; 但是,在我使用 load_model(甚至嘗試了 load_weights)之后,它顯示了以下錯誤消息:未知操作碼

已經完成谷歌搜索工作,這一切都告訴我這是 py3.5~py3.6 之間的 python 版本問題但實際上我只使用 python 3.8 .... 其他信息說在模型構建或 load_model 中需要完成一些額外的工作

如果有人幫忙提供保存和加載模型部分以使此演示代碼更完整,那將非常感謝!!

實際上,他們在這里使用了自定義對象中的兩個單獨因素。 自定義對象:

對比損失嵌入層:我們在這里找到 euclidean_distance。

保存模型:保存模型很簡單 <model_name>.save("siamese_contrastive.h5")

加載模型:這里的好部分是模型不會直接加載在這里,因為它不了解兩件事,一是您的自定義層,二是您的損失。

模型 = tf.keras.models.load_model('siamese_contrastive.h5', custom_objects={ })

在上面提到的自定義對象中,您必須提供這兩個對象的定義。 之后,它將接受您的模型,並將在推理時單獨運行。

還在想辦法。 看看我的實現讓我知道你是否還有任何疑問鏈接: https : //github.com/anukash/Face_recognition_siamese_network

按照上面的鏈接,您將了解使用自定義圖層我認為這是設計自定義圖層的好方法。

對於損失,我采用了 BinaryCrossentropy,如果您想使用自定義損失,您必須在加載模型時在 custom_object 中定義該損失。

希望能達到目的,樂於助人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM