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 @   龚细军  阅读(1006)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
历史上的今天:
2016-06-11 Redis入门学习笔记一
2014-06-11 nyoj-----284坦克大战(带权值的图搜索)
点击右上角即可分享
微信分享提示