像这样微调后,我想将所有训练好的模型保存在文件夹中:
config.json
added_token.json
special_tokens_map.json
tokenizer_config.json
vocab.txt
pytorch_model.bin
我只能保存pytorch_model.bin,但无法保存其他详细信息,如何保存模型的所有配置,令牌生成器等?
我用过
tokenizer.save_pretrained('results/tokenizer/')
可是豌豆
AttributeError: 'BertTokenizer' object has no attribute 'save_pretrained'
我通过以下代码保存了二进制模型文件
torch.save(model_to_save.state_dict(), output_model_file)
但是当我用它保存令牌生成器或配置文件时,我无法做到,因为我不知道我应该保存令牌生成器的文件扩展名,而且我无法访问cofig文件, 有什么办法可以保存我的模型的所有细节? 预先感谢
答案 0 :(得分:0)
我不知道您如何定义令牌生成器以及将“ tokenizer”变量分配给了什么,但这可以解决您的问题:
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained(...)
tokenizer.save_pretrained('results/tokenizer/')
这将保存有关令牌生成器的所有信息,并获得your_model.save_pretrained('results/tokenizer/')
:
config.json
added_token.json
special_tokens_map.json
tokenizer_config.json
vocab.txt
pytorch_model.bin
评论后的更新:
如果您使用的是from pytorch_pretrained_bert import BertForSequenceClassification
,则该属性不可用(如code所示)。
您应该做的是使用transformers,它也集成了此功能。
示例:
from transformers import BertForSequenceClassification
model = BertForSequenceClassification.from_pretrained('bert-base-uncased')
model.save_pretrained('results/tokenizer/')
另一种解决方案是使用AutoClasses。