Transformers 速查表
Transformers 是 HuggingFace 生态的核心库,提供数千个预训练模型的统一接口。支持 PyTorch、TensorFlow 和 JAX 后端。通过 `pipeline` API 可一行代码完成文本分类、文本生成、摘要、翻译、问答、图片分类等任务。
快速开始
``bash
# 安装
pip install transformers
# 查看环境信息 transformers-cli env
# 下载模型(不加载到内存) transformers-cli download bert-base-uncased
# 一行代码情感分析 python -c "from transformers import pipeline; print(pipeline('sentiment-analysis')('I love Transformers!'))"
# 文本生成
python -c "from transformers import pipeline; print(pipeline('text-generation', model='gpt2')('从前')[0]['generated_text'])"
`
Pipeline API
pipeline 是最简单的入口,自动处理模型加载、分词和输出解码。支持任务:情感分析、文本生成、摘要、翻译、掩码填充、问答、图片分类、目标检测、零样本分类等。
Auto Classes
AutoModel、AutoTokenizer、AutoModelForCausalLM 等 Auto 类根据模型名自动选择正确架构。这是编程加载模型的推荐方式。
模型加载
模型通过 HuggingFace Hub ID 标识。热门模型:BERT、GPT-2、T5、BART、Llama、Mistral 等数千个。
环境配置
TRANSFORMERS_CACHE 控制模型缓存目录。HF_HOME 是 HuggingFace 根目录。transformers-cli env` 打印所有环境信息,包括已安装后端、CUDA 版本和缓存位置。
启动模式(15)
| 命令 | 难度 | ||
|---|---|---|---|
transformers-cli --help显示 transformers-cli 帮助 | 基础 | transformers-cli --help | |
transformers-cli env显示 Transformers 环境信息 | 基础 | transformers-cli env | |
pip install transformers安装 Transformers 库 | 基础 | pip install transformers | |
pip install transformers[torch]安装 Transformers(含 PyTorch) | 基础 | pip install transformers[torch] | |
pip install transformers[tf-cpu]安装 Transformers(含 TensorFlow CPU) | 基础 | pip install transformers[tf-cpu] | |
pipeline text-generation使用 pipeline API 做文本生成 | 中级 | python -c 'from transformers import pipeline; pipe = pipeline("text-generation", model="gpt2"); print(pipe("Hello")[0]["generated_text"])'
| |
module env以模块方式运行 transformers-cli env | 中级 | python -m transformers.commands.run transformers-cli env | |
pipeline sentiment-analysis情感分析 pipeline | 基础 | python -c 'from transformers import pipeline; print(pipeline("sentiment-analysis")("I love this!"))'
| |
pipeline image-classification图片分类 pipeline | 中级 | python -c 'from transformers import pipeline; print(pipeline("image-classification")("photo.jpg"))'
| |
pipeline summarization文本摘要 pipeline | 中级 | python -c 'from transformers import pipeline; print(pipeline("summarization")("Long article text here..."))'
| |
pipeline translation翻译 pipeline(英译法) | 中级 | python -c 'from transformers import pipeline; print(pipeline("translation_en_to_fr")("Hello"))'
| |
export TRANSFORMERS_CACHE设置 Transformers 缓存目录 | 基础 | export TRANSFORMERS_CACHE=/data/hf-cache | |
export HF_HOME设置 HuggingFace 根目录 | 基础 | export HF_HOME=/data/hf-home | |
pipeline fill-mask掩码填充 pipeline(BERT 类) | 中级 | python -c 'from transformers import pipeline; print(pipeline("fill-mask")("I love [MASK]!"))'
| |
pipeline question-answering问答 pipeline | 中级 | python -c 'from transformers import pipeline; qa = pipeline("question-answering"); print(qa(question="What is AI?", context="AI is the simulation of intelligence."))'
|
ai-model(6)
| 命令 | 难度 | ||
|---|---|---|---|
transformers-cli download下载预训练模型 | 中级 | transformers-cli download bert-base-uncased | |
transformers-cli download --cache-dir指定下载缓存目录 | 中级 | transformers-cli download bert-base-uncased --cache-dir /data/models | |
AutoModel from_pretrained使用 AutoModel 加载预训练模型 | 中级 | python -c 'from transformers import AutoModel; AutoModel.from_pretrained("bert-base-uncased")'
| |
AutoTokenizer from_pretrained加载与模型匹配的分词器 | 中级 | python -c 'from transformers import AutoTokenizer; tok = AutoTokenizer.from_pretrained("bert-base-uncased"); print(tok("Hello world"))'
| |
AutoModelForCausalLM加载因果语言模型(GPT/Llama 类) | 中级 | python -c 'from transformers import AutoModelForCausalLM; AutoModelForCausalLM.from_pretrained("gpt2")'
| |
AutoModelForSeq2SeqLM加载序列到序列模型(T5/BART 类) | 中级 | python -c 'from transformers import AutoModelForSeq2SeqLM; AutoModelForSeq2SeqLM.from_pretrained("t5-small")'
|