PaddlePaddle / Paddle

PArallel Distributed Deep LEarning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署)
http://www.paddlepaddle.org/
Apache License 2.0
21.94k stars 5.52k forks source link

paddle1.8.5加载多个模型,相互影响,inputname被改变,pointer err。 #30790

Closed vic-93 closed 1 year ago

vic-93 commented 3 years ago

paddle版本:1.8.5 golang:1.14.12 模型A:esmm 模型B:deepfm case1:加载模型A,再加载模型B ,模型B的inputname被改变 input names: [feat_idx feat_val] >> input names: [field_0 field_0_1]

case2:加载模型B,再加载模型A,出现error image

code

func GetNewPredictor(model string, flag int) (*PaddlePredictor) {
    PredictorLock.Lock()
    defer PredictorLock.Unlock()
    config := paddle.NewAnalysisConfig()
    path := conf.Conf.Get("path", "model")
    modelPath := util.PlusStr(path, "paddle/", model)
    config.SetModel(modelPath, "")
    // 输出模型路径
    config.DisableGlogInfo()
    config.SwitchUseFeedFetchOps(false)
    config.SwitchSpecifyInputNames(true)
    //config.EnableMemoryOptim()
    predictor := paddle.NewPredictor(config)
    //config.SetInValid()

    fmt.Printf("modelPath: %+v \n", modelPath)
    fmt.Printf("input names: %+v \n", predictor.GetInputNames())

    //inputs := predictor.GetInputTensors()
    //for _, input := range inputs {
    //  fmt.Printf("input.Name() = %+v \n", input.Name())
    //}

    return &PaddlePredictor{predictor: predictor, flag: flag}
}
paddle-bot-old[bot] commented 3 years ago

您好,我们已经收到了您的问题,会安排技术人员尽快解答您的问题,请耐心等待。请您再次检查是否提供了清晰的问题描述、复现代码、环境&版本、报错信息等。同时,您也可以通过查看官网API文档常见问题历史IssueAI社区来寻求解答。祝您生活愉快~

Hi! We've received your issue and please be patient to get responded. We will arrange technicians to answer your questions as soon as possible. Please make sure that you have posted enough message to demo your request. You may also check out the APIFAQGithub Issue and AI community to get the answer.Have a nice day!

paddle-bot-old[bot] commented 3 years ago

【有奖问卷调查】感谢大家对飞桨的支持,现在飞桨技术团队想了解一下高校实验室的硬件使用情况,邀请您抽出10-15min 的时间来完成一个问卷调研,我们会认真考虑每个人的实验场景和大家反馈的问题,以便在飞桨框架对GPU等硬件资源的支持上作出进一步优化,完成问卷后我们会送出一份精美礼品作为感谢~ 问卷链接:https://paddle.wjx.cn/vj/YmeuTy1.aspx

chenjiaoAngel commented 3 years ago

加载多个模型不会出现相互影响的情况,在OCR 里面加载三个模型是没有冲突。请参考如下代码:https://github.com/PaddlePaddle/PaddleOCR/tree/develop/deploy/cpp_infer/src进行更正下

vic-93 commented 3 years ago

@chenjiaoAngel 尝试下Glang的预测库,这边使用的是golang的api 1.8.5

Shixiaowei02 commented 3 years ago

您好,有关 Golang 的问题我们已经收集,并会在 2.1.0 统一处理。谢谢!

vic-93 commented 3 years ago

@Shixiaowei02 2.1.0大概会在什么时间发布