首页 PaddleOCR 帖子详情
第二个模型载入时会覆盖第一个模型的的参数,如何解决?
收藏
快速回复
PaddleOCR 问答OCR 2051 2
第二个模型载入时会覆盖第一个模型的的参数,如何解决?
收藏
快速回复
PaddleOCR 问答OCR 2051 2

paddle ocr模型部署时,训练了两个ocr模型,第二个模型载入时会覆盖第一个模型的的参数,如何解决?

ValueError: parameter name [loc_conv0_weights] have be been used. In dygraph mode, the name of parameter can't be same.Please check the parameter attr value passed to self.create_parameter or constructor of dygraph Layers

尝试使用to_static,加在哪build_model的时候都会报错,只能手动更改每个参数的name吗?

0
收藏
回复
全部评论(2)
时间顺序
十进制到二进制
#2 回复于2022-01

不用,代码里应该有一行命令用于读取已有的参数,类似 我项目:https://aistudio.baidu.com/aistudio/projectdetail/3288440

中的 训练准备cell 的后两行代码,你直接把他注释掉

params = paddle.load('output_ocrnet_hrnet18/best_model/model.pdparams')

model.set_state_dict(params)

如果你指的是,先定义一个变量来存模型,然后需要载入第二个模型时候,你应该重新定义一个变量来存,而不是用第一次定义的。

0
回复
碎梦病人
#3 回复于2022-01
不用,代码里应该有一行命令用于读取已有的参数,类似 我项目:https://aistudio.baidu.com/aistudio/projectdetail/3288440 中的 训练准备cell 的后两行代码,你直接把他注释掉 params = paddle.load('output_ocrnet_hrnet18/best_model/model.pdparams') model.set_state_dict(params) 如果你指的是,先定义一个变量来存模型,然后需要载入第二个模型时候,你应该重新定义一个变量来存,而不是用第一次定义的。
展开

我不是这个意思,我现在的情况是,训练了两个backbone和head什么都一样但是训练数据不同的模型,在预测时,定义了两个模型,ocr1和ocr2,ocr2的参数和ocr1的参数名相同,因此载入ocr2的时候会把ocr1模型的值刷新,而不是在内存另开一片地方

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户