阿呆的开始
首先在官网上找到需要使用的预训练模型。
找到需要的模型,记住一定要下载这三个文件
阿呆的加载
使用 from_pretrained("xxxxx")
.方法加载,本地加载bert需要修改两个地方,一是tokenizer部分,二是model部分:
-
当下载上面的文件时
step1、导包:from transformers import BertModel,BertTokenizer
step2、载入词表:tokenizer = BertTokenizer.from_pretrained("./bert_localpath/")
这里要注意!!除了你自己建的文件夹名外,后面一定要加个/,才能保证该方法找到你的vocab.txt
step3、载入模型:model = BertModel.from_pretrained("./bert_localpath")
然后,这个地方又不需要加上/ -
当你没有下载上面的文件时
这个时候他就会帮你下载
step1、导包:from transformers import BertModel,BertTokenizer
step2、载入词表:tokenizer = BertTokenizer.from_pretrained("模型名字")
step3、载入模型:model = BertModel.from_pretrained(".模型名字")
阿呆的使用
from transformers import BertTokenizer,BertModel
# model_name = 'medbert-base-wwm-chinese'
model_pram_path = './BERT'
tokenizer = BertTokenizer.from_pretrained(model_pram_path)
model = BertModel.from_pretrained(model_pram_path)
# 查看分词
sequence = "sadfasdfasdfasdfasdfasdfas"
tokenized_sequence = tokenizer.tokenize(sequence)# 分词
print(tokenized_sequence)
# 编码
inputs = tokenizer(sequence)
encoeded_sequence = inputs["input_ids"]# input_ids,token_type_ids,attention_mask
print(f"encoder: {encoeded_sequence}")
# 解码
decoded_sequence = tokenizer.decode(encoeded_sequence)
print(f"decoder: {decoded_sequence}")
参考:
https://blog.csdn.net/qq_35459198/article/details/116236897
https://blog.csdn.net/qq_52852138/article/details/128474948