将多个模型部署到同一个服务时,会出现stack错误. 原因是program为全局.
改成这样,可以解决.
solved by myself. for those who need it: use a new scope for every model
scope = fluid.Scope()
with fluid.scope_guard(scope):
place = fluid.CPUPlace()
exe = fluid.Executor(place)
[inference_program, _, fetch_targets] = (
fluid.io.load_inference_model(dirname=model_path[0], executor=exe,
model_filename=model_path[1],
params_filename=params_path[1]))
and for prediction:
with fluid.scope_guard(scope):
results = exe.run(inference_program,
feed=inputs,
fetch_list=fetch_targets)
参考链接: https://github.com/PaddlePaddle/models/issues/1164