报错信息类似
ValueError: Tensor Tensor("predictions/Softmax:0", shape=(?, 1000), dtype=float32) is not an element of this graph.
解决方案参见
【flask中调用tensorflow,keras深度模型的坑!】
https://blog.youkuaiyun.com/qq_36387683/article/details/91872500
【如何用Flask部署Keras深度学习模型】
我的解决方法
方法一:载入模型时,给个例子预测一次就没有报错信息了(固定了图),但是代码看起来不美观。
sim = load_model(bin_dir + "model.bin")
list_file = open(bin_dir + '/model_test.pkl','rb')
test_x = pickle.load(list_file)
test_y = sim.predict(test_x)[:, 0]
方法二:建立全局图
import tensorflow as tf
import pandas as pd
global sim_graph
sim_graph = tf.get_default_graph()
sim_model = load_model(bin_dir + "model.bin")
def predict(data):
with sim_graph.as_default():
test_y = sim_model.predict(data)
上面2种方法完美解决。