溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

keras保存好的model不能成功加載怎么辦

發(fā)布時間:2020-07-17 10:19:06 來源:億速云 閱讀:445 作者:小豬 欄目:開發(fā)技術

小編這次要給大家分享的是keras保存好的model不能成功加載怎么辦,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

前兩天調用之前用keras(tensorflow做后端)訓練好model,卻意外發(fā)現(xiàn)報錯了!!之前從來沒有過報錯??!錯誤內容粘貼如下:

File “h6py_objects.pyx”, line 54, in h6py._objects.with_phil.wrapper (C:\Minonda\conda-bld\h6py_1496885653697\work\h6py_objects.c:2867)

File “h6py_objects.pyx”, line 55, in h6py._objects.with_phil.wrapper (C:\Minonda\conda-bld\h6py_1496885653697\work\h6py_objects.c:2825)

File “h6py\h6f.pyx”, line 78, in h6py.h6f.open (C:\Minonda\conda-bld\h6py_1496885653697\work\h6py\h6f.c:2140)
OSError: Unable to open file (File signature not found)

意思好像就是文件結構找不到了,然后我百度了,他說是訓練好的文件數據丟失了,重新訓練就好了。

但是,我重新訓練了好幾次,確保訓練的model文件沒有錯誤,在調用時依然報了同樣的錯誤。

一氣之下,我卸載了h6py,然后重新安裝h6py的最新版本,問題竟然神奇的解決了,哈哈哈哈!幸運!

補充知識:Keras使用 Lambda后訓練出的模型加載后,預測結果為隨機

問題

Keras 使用 Lambda后訓練出的模型加載后,預測結果為隨機accuracy

解決方案

原因出在,我構建模型的時候需要用到TensorFlow的一些函數,所以用了Lambda,有把一些需要訓練weights的層也寫到了里面。

重點就在這,模型權重保存的時候,沒保存Lambda里面的。

用notepad打開權重文件,發(fā)現(xiàn)里面保存的Tensor不包含這些,所以每一次重新加載模型測試的時候都會重新初始化一些層的權重,導致結果是隨機的。

看完這篇關于keras保存好的model不能成功加載怎么辦的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI