开始你的Hugging Face之旅: 1天快速上手
布景
Hugging Face 是一个盛行的自然语言处理 (NLP) 模型库和社区,提供了大量预训练模型、东西和资源,使得 NLP 的开发者和研究人员能够快速高效地构建和运用各种文本相关运用。在这里,我将向您介绍怎么在 1 天内快速熟悉 Hugging Face 的基本功能,并展现一些简略有用的例子。
1/3 怎么快速运用
- 装置 Hugging Face
- 在命令行中输入
pip install transformers
就能够装置 Hugging Face 的 transformers 库。 - 假如还没有装置 PyTorch 或 TensorFlow,也需求先装置它们。
- 在命令行中输入
- 浏览 Hugging Face 的 模型库
- 找到适合你项目需求的模型。
- 能够经过搜索或挑选来缩小规模。
- 点击模型称号进入模型主页,能够检查模型的详细信息、用法示例、源代码等。
- 下载并运用模型
- 运用
from transformers import MODEL_NAME
导入模型。 - 实例化模型:
model = MODEL_NAME.from_pretrained('MODEL_NAME')
。其间MODEL_NAME
是模型的称号或途径。 - 预备输入数据,转换为模型支持的格式。(如 tokenizer 后的文本、图像等)
- 调用模型并取得输出:
outputs = model(inputs)
。其间inputs
是模型的输入数据。
- 运用
- 保存和加载模型
- 运用
model.save_pretrained('PATH')
将模型保存到指定途径。 - 运用
MODEL_NAME.from_pretrained('PATH')
来加载模型。
- 运用
2/3 展现效果
文本分类
from transformers import pipeline, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
model = pipeline("text-classification", model="distilbert-base-uncased-finetuned-sst-2-english")
text = "This movie is really good!"
inputs = tokenizer(text, return_tensors="pt")
outputs = model(**inputs)
print(f"Input text: {text}")
print(f"Predicted label: {outputs[0]['label']}, score: {outputs[0]['score']:.2f}")
输出结果:
Input text: This movie is really good!
Predicted label: POSITIVE, score: 0.99
命名实体识别
from transformers import pipeline, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
model = pipeline("ner", model="dslim/bert-base-NER")
text = "Hugging Face is a startup based in New York City"
inputs = tokenizer(text, return_tensors="pt")
outputs = model(**inputs)
for entity in outputs:
print(f"Entity: {entity['word']}, Type: {entity['entity']}, Score: {entity['score']:.2f}")
输出结果:
Entity: New, Type: B-LOC, Score: 0.24
Entity: York, Type: I-LOC, Score: 0.28
Entity: City, Type: I-LOC, Score: 0.25
3/3 更高阶的用法
Fine-tuning 模型
在 Hugging Face 中,咱们能够运用预训练模型进行 fine-tuning,以习惯特定使命或领域的需求。以下是一个简略的示例:
from transformers import Trainer, TrainingArguments
training_args = TrainingArguments(
output_dir='./results',
num_train_epochs=1,
per_device_train_batch_size=16,
per_device_eval_batch_size=64,
warmup_steps=500,
weight_decay=0.01,
logging_dir='./logs',
)
trainer = Trainer(
model=model,
args=training_args,
train_dataset=train_dataset,
eval_dataset=eval_dataset,
)
trainer.train()
- 自定义模型和 Tokenizer: 假如 Hugging Face 提供的现成模型无法满足需求,咱们能够经过承继
PreTrainedModel
和PreTrainedTokenizer
类来创立自己的模型和 Tokenizer。 - 运用Hugging Face Hub: Hugging Face Hub 是一个在线平台,能够轻松同享、发现和运用各种 NLP 模型。咱们能够运用
upload()
函数将自己的模型上传到 Hub 上,并运用from_pretrained()
函数来加载其他人分享的模型。
总结
经过本文,咱们了解了怎么快速运用 Hugging Face 模型库,并展现了一些简略的 NLP 使命。此外,咱们还介绍了更高阶的用法,例如 Fine-tune 模型、自定义模型和 Tokenizer,以及运用 Hugging Face Hub。