Hugging Face的目标
- 尽可能的让每个人简单,快速地使用最好的预训练语言模型;
- 希望每个人都能来对预训练语言模型进行研究。
不管你使用Pytorch还是TensorFlow,都能在Hugging Face提供的资源中自如切换。
Hugging Face的主页
Hugging Face – On a mission to solve NLP, one commit at a time.
Hugging Face所有模型的地址
你可以在这里下载所需要的模型,也可以上传你微调之后用于特定task的模型。
Hugging Face使用文档的地址
https://huggingface.co/transformers/master/index.html
一个快速使用的例子
如果你想快速的判断一下输入序列的情感极性,那么就:
from transformers import pipeline
classifier = pipeline('sentiment-analysis') # 在pipline()中可以指定很多task
print(classifier('what are you doing?'))
如果没有指定使用的模型,那么会默认下载模型:“distilbert-base-uncased-finetuned-sst-2-english”,下载的位置在系统用户文件夹的“.cache\torch\transformers”目录。
————————————————————————————
如果想选择自己想要的模型,那么就:
from transformers import pipeline
from transformers import AutoTokenizer, AutoModelForSequenceClassification
# AutoTokenizer用于tokenize,可以通俗理解为分词
# AutoModelForSequenceClassification将用于下载模型
model_name = "nlptown/bert-base-multilingual-uncased-sentiment" # 选择想要的模型
model = AutoModelForSequenceClassification.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
classifier = pipeline('sentiment-analysis', model=model, tokenizer=tokenizer)
print(classifier('what are you doing?'))
请确保这个模型存在于:https://huggingface.co/models
————————————————————————————
如果你想指定模型的下载位置,那么就在代码最前面输入:
import os
os.environ['TRANSFORMERS_CACHE'] = ‘地址’
即:
import os
os.environ['TRANSFORMERS_CACHE'] = ‘地址’
from transformers import AutoTokenizer, AutoModelForSequenceClassification
# AutoTokenizer用于tokenize,可以通俗理解为分词
# AutoModelForSequenceClassification将用于下载模型
model_name = "nlptown/bert-base-multilingual-uncased-sentiment" # 选择想要的模型
model = AutoModelForSequenceClassification.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
classifier = pipeline('sentiment-analysis', model=model, tokenizer=tokenizer)
print(classifier('what are you doing?'))
————————————————————————————
当然,也可以先把模型下载下来,再从本地读取
from transformers import pipeline
from transformers import AutoTokenizer, AutoModelForSequenceClassification
model_name = "./nlptown/bert-base-multilingual-uncased-sentiment" # 这里是文件路径(文件夹)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
classifier = pipeline('sentiment-analysis', model=model, tokenizer=tokenizer)
print(classifier('what are you doing?'))