fluid.io.load_inference_model 载入多个模型的时候会报错 -- [paddlepaddle]

将多个模型部署到同一个服务时,会出现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
posted @ 2019-06-11 12:22  龚细军  阅读(999)  评论(0编辑  收藏  举报