Transformers 和 PyTorch 的区别与安装指南
1. 核心区别
特性 | PyTorch | Transformers (Hugging Face) |
---|---|---|
定位 | 深度学习框架(Tensor 计算、自动微分) | 预训练模型库(基于 PyTorch/TensorFlow) |
功能 | 提供张量操作、神经网络构建、训练流程 | 提供现成的 NLP/CV 模型(如 BERT、GPT) |
使用场景 | 从零搭建模型 | 直接加载预训练模型进行微调或推理 |
代码示例 | ```python | ```python |
import torch | from transformers import AutoModel | |
model = torch.nn.Linear(10, 2) | model = AutoModel.from_pretrained("bert-base-uncased") | |
``` | ``` |
2. 依赖关系
- Transformers 依赖 PyTorch :
Hugging Face 的transformers
库本身是模型接口,底层计算需要 PyTorch 或 TensorFlow 支持。
(如果你只安装transformers
而不装 PyTorch,会报错!)
3. 安装方法
(1) 安装 PyTorch
-
官方推荐命令 (根据你的环境选择):
bash# CUDA 12.1 版本(GPU 加速) pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 # 纯 CPU 版本 pip install torch torchvision torchaudio
-
验证安装:
pythonimport torch print(torch.__version__) # 输出版本号(如 2.3.0) print(torch.cuda.is_available()) # 检查 GPU 是否可用
-
(2) 安装 Transformers
-
直接安装 :
bashpip install transformers
-
完整功能版(含数据集和评估工具) :
bashpip install transformers[torch,dataloader,testing]
-
验证安装:
pythonfrom transformers import pipeline print(pipeline('sentiment-analysis')("I love Python!")) # 输出: [{'label': 'POSITIVE', 'score': 0.9998}]
4. 常见问题
Q1: 应该先装 PyTorch 还是 Transformers?
- 必须优先安装 PyTorch ,否则
transformers
可能自动安装不兼容的 CPU 版 PyTorch。
Q2: 安装后提示 Could not find module 'torch'
?
-
检查 Python 环境是否匹配(用
python -m pip install
避免装错环境)。 -
尝试重新安装 PyTorch 指定版本:
bashpip uninstall torch -y pip install torch==2.3.0
Q3: 如何安装特定版本的 Transformers?
bash
pip install transformers==4.40.0 # 指定版本
5. 快速示例:用两者协作完成文本分类
python
import torch
from transformers import AutoModel, AutoTokenizer
# 1. 加载预训练模型(Transformers)
model_name = "bert-base-uncased"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModel.from_pretrained(model_name)
# 2. 数据预处理(PyTorch 张量转换)
inputs = tokenizer("Hello world!", return_tensors="pt") # 输出 PyTorch Tensor
# 3. 模型推理(PyTorch 计算)
with torch.no_grad():
outputs = model(**inputs)
print(outputs.last_hidden_state.shape) # torch.Size([1, 3, 768])
总结
- PyTorch 是基础框架,负责张量计算和模型训练。
- Transformers 是上层工具库,提供现成模型,依赖 PyTorch 运行。
- 安装顺序:先 PyTorch → 再 Transformers。
- 如果需要 GPU 加速,务必安装 CUDA 版本的 PyTorch。