第二个模型载入时会覆盖第一个模型的的参数,如何解决?
收藏
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
收藏
请登录后评论
不用,代码里应该有一行命令用于读取已有的参数,类似 我项目: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模型的值刷新,而不是在内存另开一片地方