news 2026/5/7 1:59:24

关于transformors库的学习笔记

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
关于transformors库的学习笔记

一,pipeline

1.简单理解其作用

随着大语言模型的发展,初学者如何更快更高效的部署模型并对模型进行调试成为了首当其冲的问题,由此,诞生出了pipeline。

在没有pipeline的时候,我们调用情感分析模型需要用到的代码有这么多:

# 不使用Pipeline的原始方式(初学者可以跳过这段代码)
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch

# 1. 加载分词器和模型
tokenizer = AutoTokenizer.from_pretrained("distilbert-base-uncased-finetuned-sst-2-english")
model = AutoModelForSequenceClassification.from_pretrained("distilbert-base-uncased-finetuned-sst-2-english")

# 2. 预处理文本
inputs = tokenizer("I love this library!", return_tensors="pt")

# 3. 模型推理
with torch.no_grad():
outputs = model(**inputs)

# 4. 解析输出
predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)
labels = ["NEGATIVE", "POSITIVE"]
result = labels[predictions.argmax().item()]

print(result) # 输出: POSITIVE

当我们使用到了pipeline后,我们只需要用到这么多代码:

from transformers import pipeline

classifier = pipeline("sentiment-analysis")
result = classifier("I love this library!")
print(result) # 输出: [{'label': 'POSITIVE', 'score': 0.9998}]

pipeline将之前的那四个方法隐藏了起来,我们只要告诉他我们需要什么它提供怎样的功能,需要对什么东西使用这个功能就可以得到我们想要的结果。

我们可以这么来理解pipeline,他就像是我们去餐厅时服务我们的服务员,我们告诉他我们要吃什么,有什么忌口,就可以得到我们想要的食物。

2.pipeline的内部工作流程

内部的工作流程具体有三个步骤:预处理,模型计算,后处理。先通过预处理将用户输入的东西转化成模型能够看懂的数字,然后模型对这些数字进行处理,处理后的结果是logits,然后对这个logits进行后处理,从而反馈出用户能够看懂的结果。

3.pipeline的简单使用

使用它主要分成两步:

第一步:导入并创建Pipeline工具
from transformers import pipeline(从库中导出这个工具)
my_tool = pipeline("任务类型")

第二步:使用这个工具处理文本
result = my_tool("你的文本")

在第一个括号里面填写的是我们想要模型做的工作,常见的有这些:

4.对于pipeline的一些小疑问以及解答

第一点:pipeline调用的是与处理过后的模型,和我们平常使用的豆包,deepseek等是不一样的。

第二点:除了调用pipeline来完成一些我们想让他完成的任务以外,我们还可以调用它做这些事:

1,冒烟测试,快速判断模型是否还活着;2.判断训练是否过拟合(就是模型只会死记硬背,同一个问题换一种说法就不会了);3,对各个方面进行测试;4,对不同版本的模型进行测试;5,测试同一模型不同参数之间的区别。

第三点:使用pipeline测试和使用evalscope测试的区别:pipeline 更适合手动测试模型推理效果、观察不同模型或不同参数配置下的输出差异;而 evalscope 更适合基于数据集和指标进行自动化、批量化、可量化的模型评测。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/7 1:54:29

AI技术发展动态与行业趋势分析

AI技术发展动态与行业趋势分析 一、国内AI大模型发展现状 1.1 已备案大模型一览 根据国家网信办规定,以下AI大模型已完成备案,可合法合规使用:模型名称开发者备案时间核心特点文心一言百度2023年8月中文理解能力强,插件生态丰富通…

作者头像 李华
网站建设 2026/5/7 1:52:15

从玩具机器人模拟器看生产级React项目架构与工程化实践

1. 项目概述:一个生产级的玩具机器人模拟器最近我完成了一个挺有意思的“玩具机器人模拟器”项目,这其实是应聘一家知名药企高级全栈工程师职位时收到的技术测试。虽然听起来像是个简单的编程题,但题目要求非常明确:“请将其视为生…

作者头像 李华
网站建设 2026/5/7 1:46:28

开源项目国际化文档协作:从工具链到社区运营的完整实践指南

1. 项目概述:一个国际化文档项目的诞生与价值最近在整理一些开源项目的文档时,我遇到了一个非常典型的问题:一个功能强大、社区活跃的项目,其核心文档却只有英文版本。这对于非英语母语的开发者,尤其是刚入门的新手来说…

作者头像 李华
网站建设 2026/5/7 1:40:34

Minecraft存档修复终极指南:使用Region Fixer拯救你的像素世界

Minecraft存档修复终极指南:使用Region Fixer拯救你的像素世界 【免费下载链接】Minecraft-Region-Fixer Python script to fix some of the problems of the Minecraft save files (region files, *.mca). 项目地址: https://gitcode.com/gh_mirrors/mi/Minecraf…

作者头像 李华
网站建设 2026/5/7 1:37:27

从零构建个人数字工作台:Station5开源项目架构与实战指南

1. 项目概述与核心价值 最近在折腾一个挺有意思的项目,叫“Station5”。这名字乍一听有点抽象,但如果你对个人知识管理、信息聚合或者打造一个属于自己的数字工作台感兴趣,那这个项目绝对值得你花时间研究。它本质上是一个高度可定制、模块化…

作者头像 李华