Keras load_model 導入錯誤的解決方式
在使用Keras load_model時,會出現(xiàn)以下報錯:
ImportError: Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work.
解決辦法:
$ pip install pydot
$ sudo apt-get install graphviz
補充知識:Keras 保存model到指定文件夾和加載load_model指定文件夾中的文件(踩坑)
我們一般保存模型和加載模型都是通過下面這段代碼:
from keras.models import load_model
model.save('model.h5')
from keras.models import load_model
model = load_model('model.h5')
而此時保存的路徑都是模型訓練的路徑,當我們在寫項目的過程中,需要將代碼和result分文件保存,也就是說模型需要保存在自己指定的路徑。下面我在說明如何保存和加載時,先簡單說一下我的項目文件目錄分配:

上面是我的項目的文件部署,其中FJmodel中有模型訓練和模型加載的代碼,reslut中save-model中保存著我一次訓練的60個模型。

指定路徑模型保存:
PATH = "../FengJiCode/result" .... model.save(PATH+"/save-model/"+lags+"_LSTM3.h5")
這里我是使用的是相對路徑保存的,而且成功保存60個模型,但是在加載的過程中,我一次按照指定文件名加載,如下代碼加載:
#PATH = "../FengJiCode/result" PATH = 'C://Users/lenovo/Desktop/FengJiCode/FengJiCode/result/save-model/' for i in range(60): predictstep = i+1 lag = "lag"+str(predictstep) modelname = lag+"_LSTM3.h5" print(modelname) string = PATH +modelname model = load_model(string)
總會報如下的錯誤:
OSError: Unable to open file (unable to open file: name = 'C:/Users/lenovo/Desktop/FengJiCode/FengJiCode/result/save-model/lag1_LSTM3.h5', errno = 2, error message = 'No such file or directory', flags = 0, o_flags = 0)
常試了使用絕對路徑、相對路徑、文件此片讀取等方法都是無法成功加載,最后在網上查了很多資料也沒有什么相同的問題解決方法,在我的不斷嘗試中,通過如下方法成功解決;
PATH = r'C:\Users\lenovo\Desktop\FengJiCode15\FengJiCode\result\save-model' for i in range(60): predictstep = i+1 lag = "lag"+str(predictstep) modelname = "\\"+lag+"_LSTM3.h5" print(modelname) string = PATH +modelname if os.path.exists(string): message = 'OK, the "%s" file exists.' else: message = 'Sorry, I cannot find the " %s" file.' print( message % string) # print(string) model = load_model(string)
路徑格式發(fā)生了變化,在每次加載前先判斷改文件是否存在,成功加載結果:

以上這篇Keras load_model 導入錯誤的解決方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
TensorFlow查看輸入節(jié)點和輸出節(jié)點名稱方式
今天小編就為大家分享一篇TensorFlow查看輸入節(jié)點和輸出節(jié)點名稱方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
Pytorch損失函數(shù)torch.nn.NLLLoss()的使用
這篇文章主要介紹了Pytorch損失函數(shù)torch.nn.NLLLoss()的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02
用Python實現(xiàn)數(shù)據(jù)的透視表的方法
今天小編就為大家分享一篇用Python實現(xiàn)數(shù)據(jù)的透視表的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11

