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

【深度学习 | Transformer】Transformers 教程:pipeline一键预测

文章目录

  • 一、前言
  • 二、Computer vision
    • 2.1 Image classification
    • 2.2 Object detection
    • 2.3 Image segmentation
    • 2.4 Depth estimation
  • 三、NLP
    • 3.1 Text classification
    • 3.2 Token classification
    • 3.3 Question answering
    • 3.4 Summarization
    • 3.5 Translation
    • 3.6 Language modeling
      • 3.6.1 预测序列中的下一个单词
      • 3.6.2 预测一个序列中的一个被屏蔽的token

一、前言

Transformers 是用于自然语言处理 (NLP)、计算机视觉以及音频和语音处理任务的预训练最先进模型库。该库不仅包含 Transformer 模型,还包含非 Transformer 模型,例如用于计算机视觉任务的现代卷积网络。

pipeline()可以加载多个模型让进行推理变得简单,即使没有使用特定模态的经验或不熟悉模型背后的底层代码,仍然可以使用它们通过pipeline()进行推理。

二、Computer vision

2.1 Image classification

从一组预定义的类中标记图像。

from transformers import pipeline
classifier = pipeline(task="image-classification")
preds = classifier("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"
)preds = [{"score": round(pred["score"], 4), "label": pred["label"]} for pred in preds]

输出结果为:

{'score': 0.4335, 'label': 'lynx, catamount'}
{'score': 0.0348, 'label': 'cougar, puma, catamount, mountain lion, painter, panther, Felis concolor'}
{'score': 0.0324, 'label': 'snow leopard, ounce, Panthera uncia'}
{'score': 0.0239, 'label': 'Egyptian cat'}
{'score': 0.0229, 'label': 'tiger cat'}

2.2 Object detection

目标检测识别图像对象以及对象在图像中的位置。

from transformers import pipeline
detector = pipeline(task="object-detection")
preds = detector("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"
)preds = [{"score": round(pred["score"], 4), "label": pred["label"], "box": pred["box"]} for pred in preds]

输出结果为:

[{'score': 0.9865,'label': 'cat','box': {'xmin': 178, 'ymin': 154, 'xmax': 882, 'ymax': 598}}]

2.3 Image segmentation

图像分割是一项像素级任务,它将图像中的每个像素分配给一个类别。

from transformers import pipeline
segmenter = pipeline(task="image-segmentation")
preds = segmenter("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"
)preds = [{"score": round(pred["score"], 4), "label": pred["label"]} for pred in preds]

输出结果为:

{'score': 0.9879, 'label': 'LABEL_184'}
{'score': 0.9973, 'label': 'snow'}
{'score': 0.9972, 'label': 'cat'}

2.4 Depth estimation

预测图像中每个像素与相机的距离。

from transformers import pipeline
depth_estimator = pipeline(task="depth-estimation")
preds = depth_estimator("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"
)

三、NLP

3.1 Text classification

从一组预定义的类中标记一系列文本。

from transformers import pipeline
classifier = pipeline(task="sentiment-analysis")
preds = classifier("Hugging Face is the best thing since sliced bread!")

3.2 Token classification

为每个token分配定义类别中的标签。

from transformers import pipeline
classifier = pipeline(task="ner")
preds = classifier("Hugging Face is a French company based in New York City.")

3.3 Question answering

返回问题的答案,有时有上下文(开放域),有时没有上下文(封闭域)。

from transformers import pipeline
question_answerer = pipeline(task="question-answering")
preds = question_answerer(question="What is the name of the repository?",context="The name of the repository is huggingface/transformers",
)

3.4 Summarization

从较长的文本创建较短的版本,同时试图保留原始文档的大部分含义。

from transformers import pipeline
summarizer = pipeline(task="summarization")
summarizer("In this work, we presented the Transformer, the first sequence transduction model based entirely on attention, replacing the recurrent layers most commonly used in encoder-decoder architectures with multi-headed self-attention. For translation tasks, the Transformer can be trained significantly faster than architectures based on recurrent or convolutional layers. On both WMT 2014 English-to-German and WMT 2014 English-to-French translation tasks, we achieve a new state of the art. In the former task our best model outperforms even all previously reported ensembles."
)

3.5 Translation

将一种语言的转换为另一种语言。

from transformers import pipeline
text = "translate English to French: Hugging Face is a community-based open-source platform for machine learning."
translator = pipeline(task="translation", model="t5-small")

3.6 Language modeling

3.6.1 预测序列中的下一个单词

from transformers import pipeline
prompt = "Hugging Face is a community-based open-source platform for machine learning."
generator = pipeline(task="text-generation")

3.6.2 预测一个序列中的一个被屏蔽的token

text = "Hugging Face is a community-based open-source <mask> for machine learning."
fill_mask = pipeline(task="fill-mask")

相关文章:

【深度学习 | Transformer】Transformers 教程:pipeline一键预测

文章目录 一、前言二、Computer vision2.1 Image classification2.2 Object detection2.3 Image segmentation2.4 Depth estimation 三、NLP3.1 Text classification3.2 Token classification3.3 Question answering3.4 Summarization3.5 Translation3.6 Language modeling3.6.…...

HTMLCSS

1、HTML 1.1 介绍 HTML 是一门语言&#xff0c;所有的网页都是用HTML 这门语言编写出来的&#xff0c;也就是HTML是用来写网页的&#xff0c;像京东&#xff0c;12306等网站有很多网页。 这些都是网页展示出来的效果。而HTML也有专业的解释 HTML(HyperText Markup Language)…...

【安装Nginx】

Linux上安装Nginx 文章目录 Linux上安装NginxUbuntuCentOS查看已安装的软件 Ubuntu 在 Ubuntu 上安装 Nginx 非常简单。只需按照以下步骤操作&#xff1a; 打开终端&#xff0c;更新软件包索引&#xff1a; sudo apt update安装 Nginx&#xff1a; sudo apt install nginx安…...

VSCode作业1:猜数字游戏和简单计数器(包含完整代码)

目录 猜数字游戏 一、使用‘random’函数获取随机数 二、 分情况讨论输入值大小情况 三、HTML代码 四、CSS样式及运行效果 简单计数器&#xff08;计时器&#xff09; 一、使用‘setInterval’函数实现计数效果 二、使用’clearInterval‘函数实现暂停计数和重新计数效果 …...

NANK OE骨传导开放式蓝牙耳机发布,极致体验拉满!

近日&#xff0c;中国专业音频品牌NANK南卡发布了全新一代——骨传导开放式蓝牙耳机NANK OE&#xff0c;耳机采用了传统真无线和骨传导的结合方式&#xff0c;带来更加舒适的佩戴体验和音质升级&#xff0c;同时还支持单双耳自由切换&#xff0c;全新的设计收获了市场的喜爱和认…...

看完这篇文章你就彻底懂啦{保姆级讲解}-----(I.MX6U驱动GPIO中断《包括时钟讲解》) 2023.5.9

目录 前言整体文件结构源码分析&#xff08;保姆级讲解&#xff09;中断初始化部分初始化GIC控制器初始化中断向量表设置中断向量表偏移 系统时钟初始化部分使能所有的时钟部分led初始化部分beep初始化部分key初始化部分按键中断初始化部分按键中断服务函数部分 while循环部分 …...

MySql -- 事务

目录 1.概念 2.事务的运用场景 3.事务的四大特点 4.执行事务带来的问题 4.1 脏读 4.2 不可重复度 4.3 幻读 5. MySQL中事务的隔离级别 1.概念 事务就是把若干个独立操作打包成一个整体而诞生的一种功能. 2.事务的运用场景 比如&#xff1a;A——>B 转账500 A的余额-500…...

关于大模型对未来影响的一点看法

人们总是高估了未来一到两年的变化&#xff0c;低估了未来十年的变革。 ---比尔盖茨 近来OpenAI的GPT技术可以说在全球都带来了巨大的影响&#xff0c;也让大家看到了什么叫大力出奇迹。chatGPT和GPT4的能力给了大家很大的震撼&#xff0c;其流畅自如、逻辑清晰、出众的能力&am…...

Android - 约束布局 ConstraintLayout

一、概念 解决布局嵌套过多的问题&#xff0c;采用方向约束的方式对控件进行定位。 二、位置约束 2.1 位置 至少要保证水平和垂直方向都至少有一个约束才能确定控件的位置。 layout_constraintLeft_toLeftOf我的左边&#xff0c;与XXX左边对齐。layout_constraintLeft_toRight…...

Addictive Multiplicative in NN

特征交叉是特征工程中的重要环节&#xff0c;在以表格型&#xff08;或结构化&#xff09;数据为输入的建模中起到了很关键的作用。 特征交互的作用&#xff0c;一是尽可能挖掘对目标有效的模式、特征&#xff0c;二是具有较好的可解释性&#xff0c;三是能够将对数据的洞见引…...

LeetCode 1206. 实现跳表

不使用任何库函数&#xff0c;设计一个跳表。 跳表是在 O(log(n)) 时间内完成增加、删除、搜索操作的数据结构。跳表相比于树堆与红黑树&#xff0c;其功能与性能相当&#xff0c;并且跳表的代码长度相较下更短&#xff0c;其设计思想与链表相似。 例如&#xff0c;一个跳表包…...

离散数学_九章:关系(2)

9.2 n元关系及其应用 1、n元关系&#xff0c;关系的域&#xff0c;关系的阶2、数据库和关系 1. 数据库 2. 主键 3. 复合主键 3、n元关系的运算 1. 选择运算 (Select) 2. 投影运算 (Project) 3. 连接运算 (Join) n元关系&#xff1a;两个以上集合的元素间的关系 1、n元关系…...

[ubuntu][原创]通过apt方式去安装libnccl库

ubuntu18.04版本安装流程&#xff1a; wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600 sudo apt-key adv --fetch-keys https://develo…...

YonLinker连接集成平台构建新一代产业互联根基

近日&#xff0c;由用友公司主办的“2023用友BIP技术大会“在用友产业园&#xff08;北京&#xff09;盛大召开&#xff0c;用友介绍了更懂企业业务的用友BIP-iuap平台&#xff0c;并发布了全面数智化能力体系&#xff0c;助力企业升级数智化底座&#xff0c;加强加速数智化推进…...

泛型的详解

泛型的理解和好处 首先我们先来看看泛型的好处 1)编译时&#xff0c;检查添加元素的类型&#xff0c;提高了安全性 2)减少了类型转换的次数&#xff0c;提高效率[说明] 不使用泛型 Dog -> Object -> Dog//放入到ArrayList 会先转成Object&#xff0c;在取出时&#x…...

用科技创造未来!流辰信息技术助您实现高效办公

随着社会的迅猛发展&#xff0c;科技的力量无处不见。它正在悄悄地改变整个社会&#xff0c;让人类变得进步和文明&#xff0c;让生活变得便捷和高效。在办公自动化强劲发展的今天&#xff0c;流辰信息技术让通信业、电网、汽车、物流等领域的企业实现了高效办公&#xff0c;数…...

基于R语言APSIM模型

随着数字农业和智慧农业的发展&#xff0c;基于过程的农业生产系统模型在模拟作物对气候变化的响应与适应、农田管理优化、作物品种和株型筛选、农田固碳和温室气体排放等领域扮演着越来越重要的作用。 APSIM (Agricultural Production Systems sIMulator)模型是世界知名的作物…...

块状链表实现BigString大字符串操作(golang)

前言 块状链表是介于链表和数组之间的数据结构&#xff0c;能够在 O ( n ) O(\sqrt{n}) O(n ​)时间内完成插入、删除、访问操作。 数据结构如图所示。假设最大容量为 n n n, 则它有一个长度为 s n s\sqrt{n} sn ​的链表。链表中每个结点是一个长度为 2 n 2 \times \sqrt{…...

项目问题记录(持续更新)

1.在 yarn install的时候报 error achrinza/node-ipc9.2.2: The engine "node" is incompatible with this module. Expected version "8 || 10 || 12 || 14 || 16 || 17". Got "20.1.0" error Found incompatible module.需要执行 yarn config…...

Linux的进程

目录 一、进程占用的内存资源 二、进程的系统环境 三、进程一直在切换 四、父进程和子进程 五、进程状态 六、查看进程 1.ps -ef 列出所有进程 2.ps -lax 列出所有进程 3.ps aux列出所有进程 4.树形列出所有进程 七、作业&#xff08;用来查看管理进程&#xff09; …...

Anlogic FD工具深度体验:如何用eMCU软核实现SF1芯片的PSRAM控制器设计

Anlogic FD工具实战&#xff1a;基于eMCU软核的PSRAM控制器设计进阶指南 当FPGA工程师需要在资源受限的SF1芯片上实现高性能存储控制时&#xff0c;Anlogic Future Dynasty&#xff08;FD&#xff09;工具链中的eMCU软核与PSRAM控制器组合提供了绝佳的解决方案。不同于基础教程…...

4个关键步骤:全方位掌控BetterJoy让Switch手柄在PC上完美适配

4个关键步骤&#xff1a;全方位掌控BetterJoy让Switch手柄在PC上完美适配 【免费下载链接】BetterJoy Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput 项目地址: https://gitco…...

CVPR/ICML/TMI顶会风向标:医学图像分割三大落地范式,从模型精调到临床闭环

1. 医学图像分割的临床落地挑战与范式转变 医学图像分割作为AI在医疗领域最成熟的应用之一&#xff0c;正经历着从实验室精度竞赛到临床实用落地的关键转型。我在参与多家三甲医院PACS系统智能化改造时发现&#xff0c;临床医生对算法的需求呈现明显的"三高"特征&…...

RISC-V开发工具链技术解析与选型指南

1. RISC-V开发工具链技术解析1.1 RISC-V生态发展背景随着处理器架构领域对开放性和灵活性的需求增长&#xff0c;RISC-V指令集架构凭借其开源特性获得了广泛关注。与传统架构相比&#xff0c;RISC-V免除了授权费用&#xff0c;降低了开发门槛&#xff0c;这使得芯片厂商和工具链…...

5种颠覆式UI控件库轮播组件创新用法:从业务痛点到零代码实现

5种颠覆式UI控件库轮播组件创新用法&#xff1a;从业务痛点到零代码实现 【免费下载链接】HandyControl Contains some simple and commonly used WPF controls 项目地址: https://gitcode.com/gh_mirrors/ha/HandyControl 在现代WPF应用开发中&#xff0c;UI控件库的轮…...

白帽 SEO 与网站分析数据的关系是什么

<h3 id"seo">白帽 SEO 与网站分析数据的关系是什么</h3> <p>在当今互联网时代&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;已经成为了每个网站提升流量和品牌知名度的关键因素。而在众多的SEO策略中&#xff0c;白帽SEO&#xff08;White…...

逆向分析实战:从IDA反编译看bjdctf_2020_babystack的栈溢出漏洞成因与利用

逆向工程实战&#xff1a;bjdctf_2020_babystack栈溢出漏洞的深度解析 在二进制安全领域&#xff0c;栈溢出漏洞始终是攻防对抗的经典课题。今天我们将以bjdctf_2020_babystack这道CTF题目为案例&#xff0c;通过IDA Pro的静态分析视角&#xff0c;完整还原从漏洞发现到利用的…...

从ReVeal到实战:基于图神经网络的智能漏洞检测技术演进与落地思考

1. 图神经网络在漏洞检测中的崛起 第一次接触代码漏洞检测领域时&#xff0c;我被传统方法的繁琐流程震惊了。记得当时需要手动定义数百条规则来检测缓冲区溢出漏洞&#xff0c;每次遇到新漏洞类型就得加班加点补充规则。直到2018年遇到ReVeal论文&#xff0c;才发现图神经网络…...

在macOS上利用PyInstaller为Windows生成exe文件的3种实用方法

1. 为什么macOS不能直接生成Windows的exe文件&#xff1f; 很多刚开始接触Python打包的开发者都会遇到一个头疼的问题&#xff1a;明明在macOS上写好的脚本&#xff0c;用PyInstaller打包后却不能在Windows电脑上运行。这其实和PyInstaller的工作原理有关——它需要访问目标平…...

Yuzu模拟器版本高效管理实战指南:从新手到专家的避坑技巧

Yuzu模拟器版本高效管理实战指南&#xff1a;从新手到专家的避坑技巧 【免费下载链接】yuzu-downloads 项目地址: https://gitcode.com/GitHub_Trending/yu/yuzu-downloads 你是否曾遇到这样的困境&#xff1a;刚更新的Yuzu模拟器让原本流畅的游戏变得卡顿&#xff0c;…...