原因:多線程情況下,model執行預測時的session、graph環境和加載時的不一致。
解決辦法:
加載模型前,先執行
from tensorflow.keras import backend as K
K.clear_session()
加載模型后獲取session、graph,並保存:
K.get_session()
tf.get_default_graph()
在做預測的時候,用保存的session、graph下執行預測:
with self.sessions.as_default():
with self.graphs.as_default():
model.predict(img)
該方法還可以提高模型加載速度。