flask部署keras模型的bug修复

flask部署keras模型的加载预测问题

启动服务,加载keras模型,调用模型的预测函数(model.predict)时报错如下,但不通过服务,单独调用预测函数没有错误。

ValueError: Tensor Tensor(“...”, shape=(?, 6), dtype=float32) is not an element of this graph.

在model.predict()之前加上with 语句,将动态图固定:

import tensorflow as tf  
graph = tf.get_default_graph()  
global graph 
with graph.as_default():

tensorflow的操作都是默认加载在一个默认的Graph中,所以如果为了避免出错,自己就要创建Graph以及Session,
如果上述方法不可行,可尝试:

import tensorflow as tf
import keras
graph = tf.get_default_graph()
sess = keras.backend.get_session()
global graph, sess
with sess.as_default():
        with graph.as_default():

猜你喜欢

转载自www.cnblogs.com/sshhan/p/12653641.html