cheniison / e2e-coref-pytorch

Bert for End-to-end Neural Coreference Resolution in Pytorch
24 stars 8 forks source link

模型支持再训练 #14

Closed Bigchen8013 closed 2 years ago

Bigchen8013 commented 2 years ago

你好!

请问一下,这个代码支持模型再训练吗?比如,我在ontonotes数据上训练好模型,然后将该模型使用我自己的数据进行再训练。

祝好!

cheniison commented 2 years ago

需要修改训练部分的代码,目前的代码并不支持再训练。

Bigchen8013 commented 2 years ago

非常抱歉,这么晚才回复你,是因为最近我才刚跑成功。 请问一下,训练部分需要修改哪些地方,希望得到你的指点,十分感谢!

祝好!

cheniison commented 2 years ago

主要需要在模型初始化后增加模型/优化器加载模块,调整学习率等参数。其他一些细节的代码也可能要按需修改。

Bigchen8013 commented 2 years ago

感谢你的回复,按照你说的,我在初始化模型后添加了模型/优化器加载模块,如下所示: `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 2 years ago

大体方向是对的,但transformer模型也需要加载。保存模型的时候注意一下保存路径。如果运行过程出错,其他部分细节上可能也会有要修改的。

Bigchen8013 commented 2 years ago

谢谢大佬,感谢你的回复!

祝好!