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

2019-06-15 11:22:24 浏览数 (2)

将多个模型部署到同一个服务时,会出现stack错误. 原因是program为全局.

改成这样,可以解决.

solved by myself. for those who need it: use a new scope for every model

代码语言:javascript复制
  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:

代码语言:javascript复制
  with fluid.scope_guard(scope):
            results = exe.run(inference_program,
                          feed=inputs,
                          fetch_list=fetch_targets)
代码语言:javascript复制
参考链接: https://github.com/PaddlePaddle/models/issues/1164

0 人点赞