如何使用?hugging face的模型库?

? 开始你的Hugging Face?之旅: 1天快速上手

背景

Hugging Face 是一个流行的自然语言处理 (NLP) 模型库和社区,提供了大量预训练模型、工具和资源,使得 NLP 的开发者和研究人员能够快速高效地构建和应用各种文本相关应用。在这里,我将向您介绍如何在 1 天内快速熟悉 Hugging Face 的基本功能,并展示一些简单实用的例子。

?1/3 如何快速使用

  1. 安装 Hugging Face
    • 在命令行中输入 pip install transformers 就可以安装 Hugging Face 的 transformers 库。
    • 如果还没有安装 PyTorch 或 TensorFlow,也需要先安装它们。
  2. 浏览? Hugging Face 的 模型库
    • 找到适合你项目需求的模型。
    • 可以通过搜索或筛选来缩小范围。
    • 点击模型名称进入模型主页,可以查看模型的详细信息、用法示例、源代码等。
  3. 下载并使用模型
    • 使用 from transformers import MODEL_NAME 导入模型。
    • 实例化模型:model = MODEL_NAME.from_pretrained('MODEL_NAME')。其中 MODEL_NAME 是模型的名称或路径。
    • 准备输入数据,转换为模型支持的格式。(如 tokenizer 后的文本、图像等)
    • 调用模型并获得输出:outputs = model(inputs)。其中 inputs 是模型的输入数据。
  4. 保存和加载模型
    • 使用 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 提供的现成模型无法满足需求,我们可以通过继承 PreTrainedModelPreTrainedTokenizer 类来创建自己的模型和 Tokenizer。
  • 使用Hugging Face Hub: Hugging Face Hub 是一个在线平台,可以轻松共享、发现和使用各种 NLP 模型。我们可以使用 upload() 函数将自己的模型上传到 Hub 上,并使用 from_pretrained() 函数来加载其他人分享的模型。

?总结

通过本文,我们了解了如何快速使用 ?Hugging Face 模型库,并展示了一些简单的 NLP 任务。此外,我们还介绍了更高阶的用法,例如 Fine-tune 模型、自定义模型和 Tokenizer,以及使用 Hugging Face Hub。

© 版权声明
THE END
喜欢就支持一下吧
点赞0

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYfasQ8h' (Errcode: 28 - No space left on device) in /www/wwwroot/583.cn/wp-includes/class-wpdb.php on line 2345
admin的头像-五八三
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码
取消
昵称代码图片