Keras是一個(gè)出名的機(jī)器學(xué)習(xí)框架,我們用這個(gè)框架訓(xùn)練一個(gè)model可以用來(lái)進(jìn)行預(yù)測(cè)或者一些學(xué)習(xí)操作。但是在使用這個(gè)model的時(shí)候有時(shí)候會(huì)報(bào)錯(cuò),比如有時(shí)候Keras加載model的時(shí)候就會(huì)報(bào)錯(cuò)。這種情況常見(jiàn)于反復(fù)調(diào)用的情況。那么如何解決Keras加載model報(bào)錯(cuò)呢?接下來(lái)的這篇文章告訴你。
問(wèn)題:
python+Flask 反復(fù)調(diào)用model報(bào)錯(cuò)
ValueError: Tensor Tensor("dense_2/Softmax:0"...) is not an element of this graph.
原因:
不明
解決方案:
在初始化加載模型之后,就隨便生成一個(gè)向量讓 model 執(zhí)行一次 predict 函數(shù)
from keras.models import load_model
# ...
model = load_modle('xxx.hdf5')
model.predict(...)
補(bǔ)充:from models import * 報(bào)錯(cuò),找不到models的解決辦法
解決方法
from .models import *
在models 前加個(gè)點(diǎn),引用當(dāng)前目錄下的models
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持W3Cschool。