前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【人工智能】Transformers之Pipeline(二十五):图片特征抽取(image-feature-extraction)

【人工智能】Transformers之Pipeline(二十五):图片特征抽取(image-feature-extraction)

作者头像
LDG_AGI
发布于 2024-11-26 02:40:42
发布于 2024-11-26 02:40:42
44000
代码可运行
举报
运行总次数:0
代码可运行

一、引言

pipeline(管道)是huggingface transformers库中一种极简方式使用大模型推理的抽象,将所有大模型分为音频(Audio)、计算机视觉(Computer vision)、自然语言处理(NLP)、多模态(Multimodal)等4大类,28小类任务(tasks)。共计覆盖32万个模型

今天介绍多模态的第三篇:图片特征抽取(image-feature-extraction),在huggingface库内有300个图片特征抽取(image-feature-extraction)模型。

二、图片特征抽取(image-feature-extraction)

2.1 概述

图片特征抽取(image-feature-extraction)用途非常广泛,指将图片、视频抽帧等多模态内容向量化,在图片视频内容相似比对、推荐模型、迁移学习、检索排序、RAG等场景非常常用。

常用的图片特征抽取方法从最早期的CNN,到对比学习SimCLR、clip,再到ViT经过多年发展,已将可以较为准确将图片转化为特征向量,用于下游业务。

2.2 google/ViT

以google在2021年6月3日发布的Vision Transformer (ViT)为例,传统的图片识别通过CNN卷机神经网络提取图片信息,ViT将Transformer技术应用到图片分类上,开启了Transformer应用于计算机视觉的先河。该模型也是图片特征抽取(image-feature-extraction)任务的默认模型:google/vit-base-patch16-224

ViT(视觉transformer)主要原理:首先将图片切分成大小相等的块序列(分辨率为16*16),对每个图片块进行线性嵌入添加位置信息,通过喂入一个标准的transfromer encoder结构进行特征交叉后,送入到MLP层,通过增加额外的分类标记构建分类任务,完成网络构造。详细论文

2.3 pipeline参数

2.3.1 pipeline对象实例化参数
  • modelPreTrainedModelTFPreTrainedModel)— 管道将使用其进行预测的模型。 对于 PyTorch,这需要从PreTrainedModel继承;对于 TensorFlow,这需要从TFPreTrainedModel继承。
  • image_processor ( BaseImageProcessor ) — 管道将使用的图像处理器来为模型编码数据。此对象继承自 BaseImageProcessor
  • modelcardstrModelCard可选) — 属于此管道模型的模型卡。
  • frameworkstr可选)— 要使用的框架,"pt"适用于 PyTorch 或"tf"TensorFlow。必须安装指定的框架。
  • taskstr,默认为"")— 管道的任务标识符。
  • num_workersint可选,默认为 8)— 当管道将使用DataLoader(传递数据集时,在 Pytorch 模型的 GPU 上)时,要使用的工作者数量。
  • batch_sizeint可选,默认为 1)— 当管道将使用DataLoader(传递数据集时,在 Pytorch 模型的 GPU 上)时,要使用的批次的大小,对于推理来说,这并不总是有益的,请阅读使用管道进行批处理
  • args_parserArgumentHandler可选) - 引用负责解析提供的管道参数的对象。
  • deviceint可选,默认为 -1)— CPU/GPU 支持的设备序号。将其设置为 -1 将利用 CPU,设置为正数将在关联的 CUDA 设备 ID 上运行模型。您可以传递本机torch.devicestr
  • torch_dtypestrtorch.dtype可选) - 直接发送model_kwargs(只是一种更简单的快捷方式)以使用此模型的可用精度(torch.float16,,torch.bfloat16...或"auto"
  • binary_outputbool可选,默认为False)——标志指示管道的输出是否应以序列化格式(即 pickle)或原始输出数据(例如文本)进行。
  • image_processor_kwargsdict可选) - 传递给图像处理器的关键字参数的附加词典,例如 {“size”:{“height”:100,“width”:100}‌}
  • poolbool可选,默认为False)— 是否返回池化输出。如果是False,模型将返回原始隐藏状态。
2.3.2 pipeline对象使用参数
  • imagesstr、或)——管道处理三种类型的图像List[str]PIL.ImageList[PIL.Image]
    • 包含指向图像的 http 链接的字符串
    • 包含图像本地路径的字符串
    • 直接在 PIL 中加载的图像

    管道可以接受单张图片或一批图片,然后必须以字符串形式传递。一批图片必须全部采用相同的格式:全部为 http 链接、全部为本地路径或全部为 PIL 图片。

  • timeout可选float,默认为 None)— 等待从网络获取图像的最长时间(以秒为单位)。如果为 None,则不使用超时,并且调用可能会永远阻塞。

2.4 pipeline实战

基于pipeline的图片特征抽取(image-feature-extraction)任务,采用google/vit-base-patch16-224进行文本特征抽取,代码如下:

代码语言:javascript
代码运行次数:0
运行
复制
import os
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
os.environ["CUDA_VISIBLE_DEVICES"] = "2"

from transformers import pipeline
feature_extractor = pipeline("feature-extraction", framework="pt", model="facebook/bart-base")
text = "Transformers is an awesome library!"

output=feature_extractor(text,return_tensors = "pt")
print(output)

执行后,自动下载模型文件并进行识别:

2.5 模型排名

在huggingface上,我们将图片特征抽取(image-feature-extraction)模型按下载量从高到低排序,总计400个模型,vit排名第一。

​​​​​​​

三、总结

本文对transformers之pipeline的图片特征抽取(image-feature-extraction)从概述、技术原理、pipeline参数、pipeline实战、模型排名等方面进行介绍,读者可以基于pipeline使用文中的2行代码极简的使用多模态中的图片特征抽取(image-feature-extraction)模型。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-11-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
【NVIDIA GTC2022】关于Jetson AGX Orin产品你不知道的关键点都在这里
在开始前,我们可以先观看一下Jetson AGX Orin开发套件开箱视频 本文节选自NVIDIA GTC讲座[S41957](我们就只整理重点部分): 让我们开始吧,我们开发jetson 和edge AI 产品已经有一段时间了,我们从2014年3 月开始了这段旅程,我们已经在我们的产品组合中添加了越来越多的产品,jetson 的增长真的很棒成为物联网和边缘应用最成功的平台之一。我们很高兴地说,我们有 100 万开发人员对 jetson 边缘嵌入式系统进行了开发。 在这里,我们展示了jetson模组(
GPUS Lady
2022/03/29
1.6K0
NVIDIA Jetson Orin NANO模组发布,会是大冤种么?
20229月GTC大会,NVIDIA CEO黄仁勋发布了Jetson Orin NANO模组。终于让大家吃了一个定心丸:Jetson NANO产品后继有“芯”了! 但是,请注意,本次发布的是模组,不是开发套件,而且按照NVIDIA在后续GTC的讲座里,NVIDIA应该不会出Orin NANO开发套件了! 让我们看看Jetson Orin NANO与Jetson NANO相比,到底差异在哪里。 Jetson Orin NANO规格 不同于Jetson NANO只有一个4GB版本,NVIDIA将推出两个版本:J
GPUS Lady
2022/09/26
4.4K0
NVIDIA Jetson Orin NANO模组发布,会是大冤种么?
领先一步:使用NVIDIA Jetson Orin Nano开发套件常见问题
答:NVIDIA Orin NANO开发套件里的模组是自带TF卡插槽,系统刷到TF卡上(跟NVIDIA官方Jetson NANO开发套件一样),模组长这个样子:
GPUS Lady
2023/05/30
1.7K0
领先一步:使用NVIDIA Jetson Orin Nano开发套件常见问题
我该如何选择NVIDIA Jetson开发套件?
对于NVIDIA Jetson产品还不太了解的朋友,可以看这一篇:NVIDIA Jetson系列到底是怎样的产品?
GPUS Lady
2020/07/02
5.1K1
我该如何选择NVIDIA Jetson开发套件?
今日起,NVIDIA Jetson Orin NANO和Orin NX模组也可以升级成Super模式
昨晚,NVIDIA在其论坛上公布了JetPack 6.2版本,意味着NVIDIA Jetson Orin NANO和Orin NX模组也可以升级成Super模式
GPUS Lady
2025/01/19
1.3K0
今日起,NVIDIA Jetson Orin NANO和Orin NX模组也可以升级成Super模式
NVIDIA Jetson TX2和AGX Xavier产品中一些容易忽略的特点
NVIDIA®Jetson™AGX Xavier和Jetson TX2提供了一个内置的Cortex-R5微控制器,该控制器也被称为传感器处理引擎(SPE)。示例使用包括传感器数据处理、唤醒管理、无人机和机器人。
GPUS Lady
2019/08/09
3.6K0
NVIDIA Jetson TX2和AGX Xavier产品中一些容易忽略的特点
馋了馋NVIDIA Jetson Orin嵌入式AI开发板
最近疯狂迷恋(想买)Jetson Orin,也就是NVIDIA今年新发布的嵌入式AI开发板。 这玩意儿今年3、4月份开始正式销售,官方售价1999美刀,国内嘛,估计16000左右。 性能很美丽,价格当然也很美丽。
老潘
2023/10/19
1.7K0
馋了馋NVIDIA Jetson Orin嵌入式AI开发板
关于Jetson AGX Xavier常见问题汇总
NVIDIA Jetson AGX Xavier是Jetson平台的高端产品,这是一台用于自主机器的人工智能计算机。在一个紧凑的100x87mm模块中,GPU的性能最高可达到32兆字节(top)的峰值计算。Jetson AGX Xavier为计算密度、能源效率和可部署到边缘的人工智能推理能力设置了一个新的标准,使具有端到端自主能力的下一级智能机器成为可能。Jetson专注于性能、效率和可编程性,利用深度学习和计算机视觉为世界上许多最先进的机器人和自主机器背后的人工智能提供动力。Jetson AGX Xavier是为机器人、无人机和其他需要最大限度计算的自动机器而设计的,这些机器在边缘运行现代人工智能工作负载,并解决制造、物流、零售、服务、农业等领域的问题。Jetson AGX Xavier也适用于智能城市应用和便携式医疗设备。
GPUS Lady
2019/10/08
10.1K0
关于Jetson AGX Xavier常见问题汇总
NVIDIA JetPack 5 生产版本发布
NVIDIA发布 JetPack 5系列第一个生产版本JetPack 5.0.2。该版本包括带有 Linux Kernel 5.10 的 Jetson Linux 35.1 BSP,为这些系统运行基于 Ubuntu 20.04 的系统。有很多新功能! NVIDIA官方介绍说:JetPack 5.0.2 生产版本取代了仅用于开发目的的 JetPack 5.0/5.0.1 开发者预览版。JetPack 5.0.2 是 Jetson AGX Orin 的第一个生产版本。JetPack 5.0.2 包括 带有 Li
GPUS Lady
2022/08/26
1.4K0
NVIDIA JetPack 5 生产版本发布
【首发】揭秘NVIDIA Jetson AGX Xavier NX开发套件
我们境外团队很荣幸拿到了NVIDIA Jetson AGX Xavier NX开发套件的样机(以下简称NX开发套件)。今天Lady带着大家悄悄揭秘一下吧
GPUS Lady
2020/05/18
2K0
【首发】揭秘NVIDIA Jetson AGX Xavier NX开发套件
NVIDIA Jetson TX2 NX模组开箱及刷机
还记得我们上个月提到NVIDIA发布了一款新的Jetson模组:NVIDIA今日发布Jetson TX2 NX模组:TX2的算力,NX的长相,重要的是...
GPUS Lady
2021/04/21
2.6K0
NVIDIA Jetson TX2 NX模组开箱及刷机
AI嵌入式产品经理须知:NVIDIA Jetson系列Roadmap
Jetson Orin Roadmap 从这个Roadmap上可以看出: 1. 今年只有Jetson AGX Orin开发套件这一款,不存在Jetson Orin NX开发套件!! 2. Jetson Orin NX模组要到9月份上市。 Jetson 模组Roadmap: 大家注意这几个模组的生命周期: AGX Xavier-2025 Xavier NX-2026 TX2-2025 TX2NX-2026 NANO-2025 注意:TX2模组虽然到2025年,但是NVIDIA呼吁尽快转用Ori
GPUS Lady
2022/04/25
1K0
AI嵌入式产品经理须知:NVIDIA Jetson系列Roadmap
你还在等NVIDIA Xavier NX么?那就先买Jetson NANO开发套件吧
去年11月,NVIDIA发布了新一代嵌入式模组:Xavier NX( NVIDIA Jetson家族又添新成员,老黄一出手就知有没有!)。当时说会在今年3月份上市。按照我们对NV的了解,不出意外会在NVIDIA 美国GTC大会后就全面上市了!
GPUS Lady
2020/02/26
1.6K0
详细介绍NVIDIA Jetson产品
现在让我们深入了解我们的Jetson平台。这些是我们的Jetson Orin模块,我们有七种不同的模块,涵盖了从入门级到高性能的整个系列。最棒的是,与以往不同的是,我们在整个产品系列上首次采用了一种SOC(片上系统)架构。从入门级到高性能,全部都是基于同一架构,这也使得产品更加可扩展和易于从一个模块转移到另一个模块。
GPUS Lady
2024/04/13
9200
详细介绍NVIDIA Jetson产品
领先一步:使用NVIDIA Jetson Orin Nano开发套件常见问题(3)
问:我可以将Jetson Orin Nano开发套件的载板与Jetson Xavier NX模块(16GB,8GB)一起使用吗?如果不可以,原因是什么?
GPUS Lady
2023/08/08
1.9K0
领先一步:使用NVIDIA Jetson Orin Nano开发套件常见问题(3)
NVIDIA Jetson AGX Orin比Jetson AGX Xavier到底贵在哪里?
NVIDIA Jetson AGX Orin开发套件的官方价格为1999美金,而三年前发布的Jetson AGX Xavier开发套件的官方价格为899美金(现在已经停产买不到了),很多用户说居然
GPUS Lady
2022/04/15
5.3K0
NVIDIA Jetson AGX Orin比Jetson AGX Xavier到底贵在哪里?
【NVIDIA Jetson AGX Orin教程1】开发套件硬件介绍
NVIDIA 4月份推出了新一代嵌入式开发套件Jetson AGX Orin,这是目前市场上性能强大、体积小巧,且节能的AI超级计算机,适用于高级机器人、自主机器以及下一代嵌入式和边缘计算。 这个
GPUS Lady
2022/06/16
3.2K0
【NVIDIA Jetson AGX Orin教程1】开发套件硬件介绍
NVIDIA Jetson AGX Orin工业级模组为什么这么贵?有原因的
本文整理自NVIDIA讲座《Empower Your Industrial Edge AI applications with NVIDIA Jetson》
GPUS Lady
2023/09/22
1.2K0
NVIDIA Jetson AGX Orin工业级模组为什么这么贵?有原因的
NVIDIA Jetson AGX Orin工业级模组为什么这么贵?有原因的
本文整理自NVIDIA讲座《Empower Your Industrial Edge AI applications with NVIDIA Jetson》
GPUS Lady
2023/09/20
4930
关于NVIDIA AGX Xavier NX的最新进展
Lady汇总一下关于NVIDIA AGX Xavier NX的最新进展Jetson Xavier NX资料全放送,NVIDIA这次很麻利儿
GPUS Lady
2020/04/17
1.3K0
推荐阅读
相关推荐
【NVIDIA GTC2022】关于Jetson AGX Orin产品你不知道的关键点都在这里
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验