transformers 完整教程:机器学习模型推理与训练一站式框架
【免费下载链接】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 把这些统一成一套 API:不管文本、图像还是语音,入口都是同一个 pipeline。
先跑起来,看它输出什么
from transformers import pipeline # 一行调用:自动下载模型、分词、推理 clf = pipeline("sentiment-analysis") print(clf("I really like this framework!"))跑完你拿到类似{'label': 'POSITIVE', 'score': 0.999...}的字典。模型下载、文本切词、前向推理,全部自动完成。你不用写任何预处理,也不用手动调 forward。
它到底能干什么
先给一张能力总表,方便你对照自己的任务:
| 能力域 | 典型任务 | 它返回给你什么 |
|---|---|---|
| 文本 | 生成、分类、填空、问答、零样本分类 | 句子、标签、答案位置 |
| 视觉 | 图像分类、目标检测、语义/全景分割 | 类别、边界框、逐像素掩码 |
| 音频 | 语音识别、音频分类 | 转写文本、类别 |
| 多模态 | 视觉语言理解、图文匹配 | 自然语言回答 |
这意味着你可以把"看图打标、对话问答、语音转写"串在同一个工程里,只换模型名就能切换任务。
仓库自带真实测试素材。下面这张苹果图就来自测试夹具目录,视觉模型的测试拿这种实图当输入:
文本生成:半句话进,一段话出
能力点:GPT、LLaMA、Qwen 这类自回归模型共用同一个生成入口,你只管给提示词。
from transformers import pipeline gen = pipeline("text-generation", model="gpt2") print(gen("The future of machine learning", max_length=30, num_beams=2))你传一句开头,它返回候选续写和打分。想要更长的输出,调大max_length就行。
想调采样参数?仓库里有个现成模板examples/pytorch/text-generation/run_generation.py,温度、top-k、随机种子都有开关,直接抄来对比生成效果。
视觉:先框出来,再抠出来
检测和分割是两个最常用的视觉能力,差别就一句话:检测回方框,分割回逐像素掩码。
det = pipeline("object-detection", model="facebook/detr-resnet-50") print(det("tests/fixtures/tests_samples/COCO/000000004016.png"))输入这张厨房里的披萨图:
模型会告诉你披萨在哪、置信度多少。如果换成全景分割任务,输出不再是框,而是整张掩码图。仓库里这张猫咪照片和它的分割结果正好是一对:
同一张图经过分割后的输出,每个像素都归到了猫、沙发或遥控器某个类别:
训练:Trainer 跑通一轮
推理走 pipeline,训练走 Trainer,还是同一套模型。你需要拼三块:模型、数据集、训练参数。
from transformers import Trainer, TrainingArguments trainer = Trainer( model=model, args=TrainingArguments(output_dir="./out", num_train_epochs=1), train_dataset=dataset, ) trainer.train()检查点保存、日志、混合精度都内置了。你翻一遍TrainingArguments的参数表,就知道有哪些旋钮可以拧。完整走法看 quicktour 里的训练部分。
装好、调通、找到源码
pip install transformers要跑主干最新代码就拉仓库:
git clone https://gitcode.com/GitHub_Trending/tra/transformers四个常用入口,先记这几行:
| 入口 | 用途 |
|---|---|
pipeline(...) | 一行推理,上手首选 |
AutoTokenizer/AutoModel | 手动拼"分词器 + 模型"对 |
Trainer | 训练与评估 |
| quicktour 文档 | 从推理到训练的完整路径 |
想深入看 安装指南 和 pipeline 教程,都在这两篇里。
这几个坑不踩,能省一晚上
- 版本滞后:新模型的
model_type旧版库不认识,会直接报错。先pip install -U transformers,再怀疑模型本身。 - 配对混搭:分词器和模型必须同一家族,混搭不报错,只会给你胡话。
- 设备没指定:大模型默认落在 CPU 上跑,慢到怀疑人生。显式
.to("cuda")或传device参数。 - 离线环境:模型权重首次运行才从 Hub 拉取。离线机器要预下载,推理时指向本地路径。
- 注意力实现:想用 flash attention 得显式传
attn_implementation="flash_attention_2",否则静默回退到 eager。
不用再为每个模型单独记加载流程,同一套三行代码对新模型照样跑。装上它,从 quicktour 的第一个 pipeline 开始,跑顺了再看 Trainer。
【免费下载链接】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),仅供参考