1. 介绍
Transformers 是由 Hugging Face 开发的一个深度学习库,提供了数千个预训练模型,支持文本、视觉和音频处理任务。该库基于 Jax、PyTorch 和 TensorFlow 三大主流深度学习框架,广泛应用于自然语言处理(NLP)、计算机视觉(CV)及语音识别领域。
Transformers 是 Hugging Face 推出的深度学习库,支持文本、视觉和音频任务。本文介绍安装方法、核心组件 Pipeline 及 Model 的使用,涵盖情感分析、目标检测等示例,并提供最佳实践建议。内容包含环境搭建、代码实战、模型保存加载及性能优化方案。

Transformers 是由 Hugging Face 开发的一个深度学习库,提供了数千个预训练模型,支持文本、视觉和音频处理任务。该库基于 Jax、PyTorch 和 TensorFlow 三大主流深度学习框架,广泛应用于自然语言处理(NLP)、计算机视觉(CV)及语音识别领域。
确保使用 Python 3.7 或更高版本:
python --version
Transformers 和 Datasets 是核心库,建议通过 pip 安装:
pip install transformers datasets
根据项目需求选择 PyTorch 或 TensorFlow:
# PyTorch 安装
pip install torch
# TensorFlow 安装
pip install tensorflow
注意:PyTorch 具有动态计算图特性,适合快速原型开发;TensorFlow 则在企业级部署中表现稳定。安装完成后,可使用
pip list验证库是否已正确安装。
Pipeline 是 Transformers 提供的最便捷接口,封装了预处理、推理和后处理流程,适用于快速测试不同任务。
| 类型 | 任务 | 描述 | 标识符 |
|---|---|---|---|
| NLP(文本类) | 情绪分析 | 分析文本情感倾向 | pipeline(task="sentiment-analysis") |
| NLP(文本类) | 文本生成 | 根据提示生成连贯文本 | pipeline(task="text-generation") |
| NLP(文本类) | 摘要生成 | 生成长文档的摘要 | pipeline(task="summarization") |
| 视觉图像类 | 图像分类 | 识别图片中的物体类别 | pipeline(task="image-classification") |
| 视觉图像类 | 目标检测 | 预测对象位置及类别 | pipeline(task="object-detection") |
| 视觉图像类 | 图片转标题 | 为图像生成描述性标题 | pipeline(task="image-to-text") |
| 音频类 | 音频分类 | 对音频场景进行分类 | pipeline(task="audio-classification") |
| 音频类 | 语音识别 | 将音频转换为文本 | pipeline(task="automatic-speech-recognition") |
在终端进入 Python 环境后,可创建 Pipeline 实例:
from transformers import pipeline
# 初始化情感分析管道
classifier = pipeline("sentiment-analysis")
# 单文本分析
result = classifier("I love using Transformers library!")
print(result)
# 批量分析
results = classifier(["This is great.", "Terrible experience."])
for res in results:
print(res)
Pipeline 虽然方便,但在生产环境中,直接操作 Model 和 Tokenizer 能提供更细粒度的控制。
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
model_name = "distilbert-base-uncased-finetuned-sst-2-english"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
inputs = tokenizer("Hello world", return_tensors="pt")
outputs = model(**inputs)
为了复用训练好的模型,可以将其保存到本地:
# 保存
model.save_pretrained("./my_model")
tokenizer.save_pretrained("./my_model")
# 加载
loaded_model = AutoModelForSequenceClassification.from_pretrained("./my_model")
loaded_tokenizer = AutoTokenizer.from_pretrained("./my_model")
使用 DETR 模型进行目标检测时,可获得图像中对象的名称、位置和置信度:
from transformers import pipeline
detector = pipeline("object-detection")
results = detector("https://example.com/image.jpg")
for item in results:
print(f"Label: {item['label']}, Score: {item['score']}, Box: {item['box']}")
若拥有 NVIDIA GPU,请确保安装 CUDA 版本的 PyTorch,并启用混合精度训练以提升速度:
model.to("cuda")
inputs = inputs.to("cuda")
对于大模型,建议使用 torch.cuda.empty_cache() 清理缓存,或使用 gradient_checkpointing 降低显存占用。
在资源受限环境下,可对模型进行量化(如 INT8),显著减少内存占用并提升推理速度。
通过合理使用 Transformers 库,开发者可以快速构建高性能的 AI 应用,无需从零训练模型即可利用业界领先的预训练能力。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online