在 Hugging Face 中使用 🤗 transformers
🤗 transformers
是由 Hugging Face 和社区维护的库,用于 Pytorch、TensorFlow 和 JAX 的最先进的机器学习。它提供了数千个预训练模型,用于执行不同模态的任务,例如文本、视觉和音频。我们有点偏心,但我们真的很喜欢 🤗 transformers
!
在 Hub 中探索 🤗 transformers
Hub 中有超过 25,000 个 transformers
模型,您可以在 模型页面 左侧筛选找到它们。
您可以找到用于许多不同任务的模型
- 从上下文中提取答案 (问答).
- 从长文本中创建摘要 (摘要).
- 对文本进行分类(例如,垃圾邮件或非垃圾邮件,文本分类).
- 使用 GPT 等模型生成新文本 (文本生成).
- 识别句子中的词性(动词、主语等)或实体(国家、组织等) (令牌分类).
- 将音频文件转录为文本 (自动语音识别).
- 对音频文件中的说话者或语言进行分类 (音频分类).
- 检测图像中的物体 (物体检测).
- 分割图像 (图像分割).
- 进行强化学习 (强化学习)!
如果您想在不下载模型的情况下测试它们,您可以通过浏览器小部件直接在浏览器中试用这些模型!
使用现有模型
所有 transformer
模型只需一行代码即可使用!您可以使用 pipeline
函数使用高级 API,也可以使用 AutoModel
获得更多控制权。
# With pipeline, just specify the task and the model id from the Hub.
from transformers import pipeline
pipe = pipeline("text-generation", model="distilbert/distilgpt2")
# If you want more control, you will need to define the tokenizer and model.
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("distilbert/distilgpt2")
model = AutoModelForCausalLM.from_pretrained("distilbert/distilgpt2")
您也可以从特定版本(基于提交哈希、标签名或分支)加载模型,如下所示
model = AutoModel.from_pretrained(
"julien-c/EsperBERTo-small", revision="v2.0.1" # tag name, or branch name, or commit hash
)
如果您想查看如何加载特定模型,可以点击 在 Transformers 中使用
,您将获得一个可用于加载模型的工作代码段!如果您需要有关模型架构的更多信息,还可以点击代码段底部的“阅读模型文档”。
分享您的模型
要了解有关使用transformers
共享模型的所有信息,请访问官方文档中的共享模型指南。
transformers
中的许多类,例如模型和分词器,都有一个push_to_hub
方法,该方法允许您轻松地将文件上传到存储库。
# Pushing model to your own account
model.push_to_hub("my-awesome-model")
# Pushing your tokenizer
tokenizer.push_to_hub("my-awesome-model")
# Pushing all things after training
trainer.push_to_hub()
您可以做的事情还有很多,因此建议您查看共享模型指南。