当前位置: 首页 > news >正文

Transformers 和 PyTorch 的区别与安装指南


Transformers 和 PyTorch 的区别与安装指南

1. 核心区别

特性PyTorchTransformers (Hugging Face)
定位深度学习框架(Tensor 计算、自动微分)预训练模型库(基于 PyTorch/TensorFlow)
功能提供张量操作、神经网络构建、训练流程提供现成的 NLP/CV 模型(如 BERT、GPT)
使用场景从零搭建模型直接加载预训练模型进行微调或推理
代码示例```python```python
import torchfrom 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
  • 官方推荐命令(根据你的环境选择):
    # CUDA 12.1 版本(GPU 加速)
    pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121# 纯 CPU 版本
    pip install torch torchvision torchaudio
    
    • 验证安装:
      import torch
      print(torch.__version__)  # 输出版本号(如 2.3.0)
      print(torch.cuda.is_available())  # 检查 GPU 是否可用
      
(2) 安装 Transformers
  • 直接安装
    pip install transformers
    
  • 完整功能版(含数据集和评估工具)
    pip install transformers[torch,dataloader,testing]
    
  • 验证安装:
    from 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 指定版本:
    pip uninstall torch -y
    pip install torch==2.3.0
    
Q3: 如何安装特定版本的 Transformers?
pip install transformers==4.40.0  # 指定版本

5. 快速示例:用两者协作完成文本分类

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。
http://www.xdnf.cn/news/1096381.html

相关文章:

  • Flowable23手动、接收任务----------持续更新中
  • 【计算机基础理论知识】C++篇(二)
  • codeforeces Round1032 - Round 1036
  • 学习笔记(32):matplotlib绘制简单图表-数据分布图
  • Linux Vim 编辑器详解:从入门到进阶(含图示+插件推荐)
  • Java从入门到精通!第三天(数组)
  • 【threejs】第一人称视角之八叉树碰撞检测
  • 论文笔记(LLM distillation):Distilling Step-by-Step!
  • MiniGPT4源码拆解——models
  • 原生微信小程序研发,如何对图片进行统一管理?
  • 微信小程序101~110
  • UnrealEngine5游戏引擎实践(C++)
  • Android Coil 3 data加载图的Bitmap或ByteArray数据类型,Kotlin
  • Android 如何阻止应用自升级
  • C语言 | 函数核心机制深度解构:从底层架构到工程化实践
  • Matplotlib 全面使用指南 -- 自动缩放坐标轴 Autoscaling Axis
  • 【Linux】Linux 操作系统 - 27 , 进程间通信(三) --System V 共享内存
  • 编写bat文件自动打开chrome浏览器,并通过selenium抓取浏览器操作chrome
  • 抽象类基础知识
  • 如何选择合适的ai降重工具?七个实用的ai查重网站
  • 【会员专享数据】2013-2024年我国省市县三级逐日SO₂数值数据(Shp/Excel格式)
  • 告别繁琐:API全生命周期管理的新范式——apiSQL
  • 调用京东API接口时,如果超过了调用频率限制,应该如何处理?【项目经验分享】
  • Django+DRF 实战:自定义异常处理流程
  • FeatherScan v4.0 – 适用于Linux的全自动内网信息收集工具
  • 快速搭建服务器,fetch请求从服务器获取数据
  • linux网络编程之读缓冲区设计
  • 系统性部署系统母盘【rhel7和rhel9】
  • 腾讯云分为几个区域
  • 2025社交电商新风口:推客小程序的商业逻辑与技术实现