首先需要安装transformers:
pip install transformers 以bert-base-uncased为例,进入网站:https://huggingface.co/bert-base-uncased/tree/main,可以看到这个模型的所有文件,下载:
- config.json
- pytorch_model.bin
- vocab.txt
这三个文件,然后放到本地叫:bert_model的文件夹下
from transformers import BertModelbert_model = BertModel.from_pretrained("bert_model") Huggingface基本类 Huggingface主要使用的只有以下三个类:- configuration:https://huggingface.co/transformers/main_classes/configuration.html,主要用于加载配置文件
- models:https://huggingface.co/transformers/main_classes/model.html,模型基类
- tokenizer:https://huggingface.co/transformers/main_classes/tokenizer.html,将文本->编码的工具
文本 ——> 词indexfrom transformers import BertTokenizerdef get_tokenizer():tokenizer = BertTokenizer.from_pretrained(pretrained_model_name_or_path="../bert_model")sentences = "Natural language processing is the ability of a computer program to understand human language."# 编码:句子 -> index# 编码方式一:words_list = tokenizer.tokenize(sentences)# 分词print("分词:", words_list)tokens = ["[CLS]"] + words_list + ["[SEP]"]encoded_1 = tokenizer.convert_tokens_to_ids(tokens)print("编码方式1:", encoded_1)# 编码方法二:encoded_2 = tokenizer(sentences)# 编码:句子 -> indexprint("编码方式2:", encoded_2['input_ids'])# 解码:index -> 句子decode_string = tokenizer.decode(encoded_2['input_ids'])print("解码 index -> 句子 :", decode_string)# 限制句子的输入到一个固定长度:超过截断,不足补齐sentence_index = tokenizer(["natural", "language is ability and nlp is useful"],truncation=True,# 超过最大长度截断padding=True,# 设置长度不足就补齐max_length=5,# 最大长度add_special_tokens=True)# 添加默认的tokenprint("转换为固定长度输入:", sentence_index['input_ids'])# 便于模型输出return tokenizerif __name__ == '__main__':get_tokenizer() 结果如下:【pytorch HuggingFace学习1:tokenizer学习与将文本编码为固定长度】
分词: ['natural', 'language', 'processing', 'is', 'the', 'ability', 'of', 'a', 'computer', 'program', 'to', 'understand', 'human', 'language', '.']编码方式1: [101, 3019, 2653, 6364, 2003, 1996, 3754, 1997, 1037, 3274, 2565, 2000, 3305, 2529, 2653, 1012, 102]编码方式2: [101, 3019, 2653, 6364, 2003, 1996, 3754, 1997, 1037, 3274, 2565, 2000, 3305, 2529, 2653, 1012, 102]解码 index -> 句子 : [CLS] natural language processing is the ability of a computer program to understand human language. [SEP]转换为固定长度输入: [[101, 3019, 102, 0, 0], [101, 2653, 2003, 3754, 102]] 参考链接 - Huggingface github页面:https://github.com/huggingface/transformers
- Huggingface 模型库:https://huggingface.co/models
- Huggingface Quick start文档:https://huggingface.co/transformers/quicktour.html
- 春季老年人吃什么养肝?土豆、米饭换着吃
- 三八妇女节节日祝福分享 三八妇女节节日语录
- 老人谨慎!选好你的“第三只脚”
- 校方进行了深刻的反思 青岛一大学生坠亡校方整改校规
- 脸皮厚的人长寿!有这特征的老人最长寿
- 长寿秘诀:记住这10大妙招 100%增寿
- 春季老年人心血管病高发 3条保命要诀
- 眼睛花不花要看四十八 老年人怎样延缓老花眼
- 香槟然能防治老年痴呆症? 一天三杯它人到90不痴呆
- 老人手抖的原因 为什么老人手会抖
