Huggingface加载Q&A任务网络且保存至本地

1.在官网选择合适的网络模型(登Hugging Face官网需要梯子!)

详细的网络选择可以参考这篇博客
在这里插入图片描述

2.导包

 from transformers import AutoTokenizer #会根据模型自动判断选用哪种分词器进行分词操作

联外网运行
获取checkpoint
在这里插入图片描述

from transformers import AutoTokenizer
checkpoint = "timpal0l/mdeberta-v3-base-squad2"
tokenizer = AutoTokenizer.from_pretrained(checkpoint)#从模型中自动获取tokenizer

在执行完会在默认将模型保存在本地,如下图所展示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时我们后续可以直接使用本地模型离线运行(不用挂梯子)

from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("timpal0l/mdeberta-v3-base-squad2")
tokenizer.save_pretrained("./medical_QA_model")
tokenizer = AutoTokenizer.from_pretrained("./medical_QA_model/")

这样就将下图的文件保存至所想要保存的文件夹中,后续可以实现模型本地加载,离线运行,不用挂梯子了。
在这里插入图片描述
那上述的两种代码中都是使用了自动分词器选择,它是由checkpoint指定的预训练模型关联的,不用我们自己选择tokenizer,它自动帮我们选择好了。
tokenizer(raws_inputs,padding=True,truncation=True,return_tensors=“pt”)*中padding代表是否需要自动补零;truncation代表是否需要隔断,默认是true,指不超过计算机的上限512,它也可以被你指定你设定的文本长度然后进行隔断;return_tensors="pt"指的是使用pytorch.
输出结果:
在这里插入图片描述
模型的输入经过tokenizer得到两部分: 1)input_id:它由id、[CLS][SEP]两个特殊字符、补零占位符组成;2)attention_mask:为1的表示可以跟谁算,为0的不会参与到self-attention的进一步计算。
注意: attention_mask和padding是配套使用的,当人为去修改padding的时候,也要把attention_mask里面的参数进行修改。不修改的话计算机会认为人为padding的0占位符是有效位将会参与self-attention计算,那么这时候输出结果会有区别。
注意: 在加载清华gpt模型的tokenizer时候,需要添加trust_remote_code=True,因为清华的tokenizer是额外写在一个py文件中的,如果不指定相信远程调用的话可能会报错,完整代码为:tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b",trust_remote_code=True)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值