Transformers 实战:3 行代码跑通 pipeline 模型推理
Transformers 实战:3 行代码跑通 pipeline 模型推理
【免费下载链接】transformers🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.项目地址: https://gitcode.com/GitHub_Trending/tra/transformers
想上线一个大模型,先得手写数据预处理、模型加载、输出解析,等写完就劝退了。Transformers库把这些步骤压缩成一次pipeline调用:指定任务和模型 ID,结果直接给你。下面的示例全部复用仓库里现成的测试用例和样张。
项目速览
一句话定位:文本、图像、音频模型的统一推理框架。
| 能做什么 | 一句话解释 |
|---|---|
| 一行推理 | pipeline(task, model)自动完成预处理、前向与输出解析 |
| 文本生成 | 丢一段 prompt 进去,拿回模型的续写 |
| 图像分类 | 传本地图片路径,返回label/score列表 |
| 语音识别 | 音频进、转写文本出 |
| 训练微调 | Trainer类加TrainingArguments驱动完整训练循环 |
跑起来
一行安装,[torch]会带上 PyTorch 后端:
pip install "transformers[torch]"跑完下面的代码,你会拿到一个包含generated_text的字典,即模型对这句话的续写,示例输出取自 README Quickstart:
from transformers import pipeline model = pipeline(task="text-generation", model="Qwen/Qwen2.5-1.5B") model("the secret to baking a really good cake is ")用 pipeline 提取图像分类结果 📷
后端收到用户上传的图片,需要知道里面有什么,但不必自己写图像预处理。
clf = pipeline(task="image-classification", model="facebook/dinov2-small-imagenet1k-1-layer") clf("tests/fixtures/tests_samples/COCO/apple.jpg")tests/models/minimax_m3_vl/test_modeling_minimax_m3_vl.py 第 588 行的test_real_image_apple_recognition测试用例打开同一张苹果样张,断言多模态模型的回答包含 "apple";图像分类这条管线用它可以直接验证。
回答图片问题:视觉问答 💬
固定类别不够用、想用自然语言提问图片时,换成视觉问答任务。
vqa = pipeline(task="visual-question-answering", model="Salesforce/blip-vqa-base") vqa(image="tests/fixtures/tests_samples/COCO/000000004016.png", question="What is in the image?")VQA 入口pipeline()定义在 src/transformers/pipelines/init.py 里,签名按task重载,你填的任务决定预处理和输出结构。000000004016.png是 COCO 数据集的真实厨房场景图,可直接替换验证:
调参 & 边界
- task:指定推理入口,模型与预处理由它自动匹配,选错任务名会直接报错,如
image-classification - device:指定运行设备,如
0或"cpu",多卡时直接传卡号 - dtype:控制计算精度,默认
"auto",新卡上改torch.bfloat16更省显存
💡 提示:
use_fast控制是否启用更快的 tokenizer 实现,默认True,个别旧模型不兼容时可切False。
踩坑提醒:
- 首次运行会下载:模型按 ID 拉取并缓存,重复运行不再下载,但首次耗时取决于网络。
- 任务与模型要匹配:
task和model必须成对,把视觉语言模型塞给纯文本任务会失败。 - 示例输出可能不同:模型权重与版本会更新,README 的样例输出和你本地跑出的结果未必一致。
- 训练定位不同:README 明确说它不是模块化的神经网络工具箱,
examples/脚本是示例,需要改造后使用。
一个pipeline覆盖文本到图像的推理链路,Trainer则接手微调环节,更多任务用法见 README.md 的 Quickstart 章节。
【免费下载链接】transformers🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.项目地址: https://gitcode.com/GitHub_Trending/tra/transformers
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
