模型支持再训练
Bigchen8013 opened this issue · 6 comments
Bigchen8013 commented
你好!
请问一下,这个代码支持模型再训练吗?比如,我在ontonotes数据上训练好模型,然后将该模型使用我自己的数据进行再训练。
祝好!
cheniison commented
需要修改训练部分的代码,目前的代码并不支持再训练。
Bigchen8013 commented
非常抱歉,这么晚才回复你,是因为最近我才刚跑成功。
请问一下,训练部分需要修改哪些地方,希望得到你的指点,十分感谢!
祝好!
cheniison commented
主要需要在模型初始化后增加模型/优化器加载模块,调整学习率等参数。其他一些细节的代码也可能要按需修改。
Bigchen8013 commented
感谢你的回复,按照你说的,我在初始化模型后添加了模型/优化器加载模块,如下所示:
`coref_model = model.CorefModel(c).to(c["device"])
optimizer = torch.optim.Adam(coref_model.parameters(), lr=c["lr"], weight_decay=c["weight_decay"])
if os.path.exists(c["checkpoint_path"] + ".max"):
print("loading model from checkpoint...")
checkpoint = torch.load(c["checkpoint_path"] + ".max", map_location=c["device"])
coref_model.load_state_dict(checkpoint["model"])
optimizer.load_state_dict(checkpoint["optimizer"])`
学习率好像一直都是0.0002,没有变。
在保存模型的时候需要添加什么吗?
感谢!
祝好!
cheniison commented
大体方向是对的,但transformer模型也需要加载。保存模型的时候注意一下保存路径。如果运行过程出错,其他部分细节上可能也会有要修改的。
Bigchen8013 commented
谢谢大佬,感谢你的回复!
祝好!