问题描述:
有两个模型,单独运行两个模型的pipeline时没有问题,但是封装到flask服务后报了如下错误:
解决方法:
以前一版遇到这种问题的时候都是模型加载错误,保存的模型和网络结构不符合导致。但是这次不是这个问题,因为单独运行pipiline是没有问题的。
后来经高手指点,发现是tensorflow图的问题。tensorflow是基于图运行的,在启动服务的时候,新建一个基础的默认图,让另外两个模型都基于这个默认图运行即可。
具体代码:
1、在创建flask服务后,加上一句:
graph = tf.get_default_graph()
2、在服务中调用模型进行识别前,加上这句:
with graph.as_default():