为 PyTorch、TensorFlow 和 JAX 打造的先进的机器学习工具.
🤗 Transformers 提供了可以轻松地下载并且训练先进的预训练模型的 API 和工具。使用预训练模型可以减少计算消耗和碳排放,并且节省从头训练所需要的时间和资源。这些模型支持不同模态中的常见任务,比如:
📝 自然语言处理:文本分类、命名实体识别、问答、语言建模、摘要、翻译、多项选择和文本生成。
🖼️ 机器视觉:图像分类、目标检测和语义分割。
🗣️ 音频:自动语音识别和音频分类。
🐙 多模态:表格问答、光学字符识别、从扫描文档提取信息、视频分类和视觉问答。
🤗 Transformers 支持在 PyTorch、TensorFlow 和 JAX 上的互操作性. 这给在模型的每个阶段使用不同的框架带来了灵活性;在一个框架中使用几行代码训练一个模型,然后在另一个框架中加载它并进行推理。模型也可以被导出为 ONNX 和 TorchScript 格式,用于在生产环境中部署。
🤗 Transformers 已在 Python 3.6+、PyTorch 1.1.0+、TensorFlow 2.0+ 以及 Flax 上进行测试。针对你使用的深度学习框架,请参照以下安装说明进行安装:
pip install transformers
创建一个pipeline()并指定推理任务
from transformers import pipeline
transcriber = pipeline(task="automatic-speech-recognition")
将您的输入传递给pipeline()。对于语音识别,这通常是一个音频输入文件
transcriber("<https://huggingface.co/datasets/Narsil/asr_dummy/resolve/main/mlk.flac>")
{'text': 'I HAVE A DREAM BUT ONE DAY THIS NATION WILL RISE UP LIVE UP THE TRUE MEANING OF ITS TREES'}
pipeline() 支持许多参数;有些是适用于特定任务的,而有些适用于所有pipeline
。通常情况下,您可以在任何地方指定对应参数:
transcriber = pipeline(model="openai/whisper-large-v2", my_parameter=1)
out = transcriber(...)# This will use `my_parameter=1`.
out = transcriber(..., my_parameter=2)# This will override and use `my_parameter=2`.
out = transcriber(...)# This will go back to using `my_parameter=1`.
让我们查看其中的三个重要参数: