解決Keras多線程機制和flask多線程衝突的方法

在使用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()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章