在使用flask部署Keras,tensorflow等框架時候,經常出現
FailedPreconditionError: Attempting to use uninitialized value batchnormalization_
或者Tensor Tensor("crf_1/cond/Merge:0", shape=(?, ?, 260), dtype=float32) is not an element of this graph.
使用keras.backend.clear_session()可能會導致前後兩處預測結果不一樣,因爲圖發生了變化。以下是解決方案。
graph = tf.get_default_graph()
sess = tf.Session(graph=graph)
def modelpredict(content):
#keras.backend.clear_session()
global graph
global sess
with sess.as_default():
with graph.as_default():
keras.model.predict()