Closed browserliu closed 2 years ago
目前框架中使用的还是torch保存权重的方式
本质上ark-nlp中model.module还是torch模型,所以支持torch的保存方式,如下(PS:下面的module便是ipynb中的dl_module):
# 保存模型的参数
torch.save(model.module.state_dict(), 'net_params.pth')
# 加载模型参数
module = Net()
module.load_state_dict(torch.load(PATH))
同时也支持transformers的保存格式:
# 保存模型bin
module.save_pretrained("PATH") # 注意,这里的PATH只要到保存文件夹名就行
至于Tokenizer暂未单独提供保存方式,可以使用pickle等就行保存,同时也支持使用transformers的方式进行保存:
# 保存transformers tokenizer
tokenizer.vocab.save_pretrained("PATH") # 注意,这里的PATH只要到保存文件夹名就行
你好,我使用了这些保存方式,虽然成功保存,并且加载,但预测时似乎并没有调用加载的权重,f1在训练时eval很高,但单独加载模型eval时基本等于0,感觉权重没有被加载上
cat2id是否有保持一致
wx15857152367 | |
---|---|
@. | 在2022年4月1日 @.> 写道:
你好,我使用了这些保存方式,虽然成功保存,并且加载,但预测时似乎并没有调用加载的权重,f1在训练时eval很高,但单独加载模型eval时基本等于0,感觉权重没有被加载上
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>
解决了,就是因为cat2id顺序变了,现在sort后结果已经正常,感谢!
好的,也感谢使用和提issue
收到,多谢。
你好,我也遇到类似的问题,f1结果很好,但是保存模型参数重新加载后,再测试,结果很不行了,请问你具体是如何处理的呀
对放有标签的set进行排序,sorted(set),然后再训练,推理
在 2022年8月22日,16:12,YangFW @.***> 写道:
你好,我也遇到类似的问题,f1结果很好,但是保存模型参数重新加载后,再测试,结果很不行了,请问你具体是如何处理的呀
— Reply to this email directly, view it on GitHubhttps://github.com/xiangking/ark-nlp/issues/39#issuecomment-1222004581, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AJWTA634IMMST2VVSBPH7GLV2MY6JANCNFSM5RWCDBKA. You are receiving this because you commented.Message ID: @.***>
你好,请问可以私加下你联系方式吗,我按照你这个方式排序后,没有效果,不知道是不是方式不对
我是这个原因,其他的我就不太清楚了,训练跟推理需要用相同顺序的set,可以打印一下set看看是不是一样的顺序
在 2022年8月22日,16:54,YangFW @.***> 写道:
你好,请问可以私加下你联系方式吗,我按照你这个方式排序后,没有效果,不知道是不是方式不对
— Reply to this email directly, view it on GitHubhttps://github.com/xiangking/ark-nlp/issues/39#issuecomment-1222054184, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AJWTA63AYLZLLTNHDR5KLHLV2M52NANCNFSM5RWCDBKA. You are receiving this because you commented.Message ID: @.***>
你好: 在 gobalpoint_bert.ipynb 中的 EfficientGlobalPointerBert 和 gobalpoint_bert 如何save,load 模型及Tokenizer 如何存储和读取训练模型? 直接save EfficientGlobalPointerBert; model.module; 均出错。