PyTorch & Transformers| Azure

数据迁移

PyTorch和 Transformers 是不同层面的工具,核心区别如下:

  • PyTorch:是一个深度学习框架,类似"建造房子的工具箱",提供张量计算、神经网络搭建、模型训练等基础功能,是实现AI模型的底层工具

  • Transformers:是一个预训练模型库(由Hugging Face开发),类似"已经造好的房屋模块",基于PyTorch/TensorFlow等框架,封装了BERT、GPT等主流预训练模型,能直接用于文本生成、翻译等任务,无需从零造模型。

  • 用PyTorch可以"从零造模型"
  • 而用Transformers能"直接用现成的高级模型"
  • 且后者依赖前者(或其他框架)才能运行。

用一个具体场景(比如文本分类)演示两者的实际用法差异吗?这样能更直观理解它们的配合关系

以"文本分类"(比如判断一句话是正面还是负面评价)为例,通过代码核心逻辑对比两者用法,不涉及复杂细节:

  1. 用PyTorch实现(从零搭模型)

需手动定义网络结构、处理数据,步骤繁琐:

import torch

import torch.nn as nn

1. 手动定义简单神经网络(自己造"房屋框架")

class SimpleNet(nn.Module):

def init(self):

super().init()

self.fc1 = nn.Linear(512, 256) # 全连接层1

self.fc2 = nn.Linear(256, 2) # 输出层(2类:正/负)

def forward(self, x):

x = torch.relu(self.fc1(x))

return self.fc2(x)

2. 手动加载、处理数据(自己准备"建材")

(此处省略几百行:文本转向量、划分训练/测试集、构建数据加载器...)

3. 初始化模型、训练(自己动手"盖房子")

model = SimpleNet()

optimizer = torch.optim.Adam(model.parameters())

(再省略几百行:循环训练、计算损失、反向传播...)

  1. 用Transformers实现(直接用现成模型)

无需定义网络,调用封装好的预训练模型,几行搞定核心逻辑:

from transformers import BertTokenizer, BertForSequenceClassification

1. 加载现成的预训练模型和分词器(直接拿"现成房屋模块")

tokenizer = BertTokenizer.from_pretrained('bert-base-uncased') # 文本转模型能懂的格式

model = BertForSequenceClassification.from_pretrained('bert-base-uncased', num_labels=2) # 自带分类头

2. 处理数据(工具帮你做,无需手动写)

text = "这个产品超好用!"

inputs = tokenizer(text, return_tensors="pt", padding=True, truncation=True)

3. 直接推理(不用训练也能跑,或少量微调)

with torch.no_grad():

outputs = model(**inputs)

predictions = torch.argmax(outputs.logits, dim=1) # 直接得到分类结果(正/负)

核心差异很明显:

  • PyTorch需要"从0到1造轮子"
  • Transformers则是"直接用调好的轮子跑"
相关推荐
Lun3866buzha13 分钟前
篮球场景目标检测与定位_YOLO11-RFPN实现详解
人工智能·目标检测·计算机视觉
janefir18 分钟前
LangChain框架下DirectoryLoader使用报错zipfile.BadZipFile
人工智能·langchain
齐齐大魔王39 分钟前
COCO 数据集
人工智能·机器学习
AI营销实验室2 小时前
原圈科技AI CRM系统赋能销售新未来,行业应用与创新点评
人工智能·科技
爱笑的眼睛112 小时前
超越MSE与交叉熵:深度解析损失函数的动态本质与高阶设计
java·人工智能·python·ai
tap.AI2 小时前
RAG系列(一) 架构基础与原理
人工智能·架构
北邮刘老师2 小时前
【智能体互联协议解析】北邮ACPs协议和代码与智能体互联AIP标准的关系
人工智能·大模型·智能体·智能体互联网
亚马逊云开发者3 小时前
使用Amazon Q Developer CLI快速构建市场分析智能体
人工智能
Coding茶水间3 小时前
基于深度学习的非机动车头盔检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·深度学习·yolo·目标检测·机器学习·计算机视觉
Rose sait3 小时前
【环境配置】Linux配置虚拟环境pytorch
linux·人工智能·python