Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,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
运行
AI代码解释
复制
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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【人工智能】Transformers之Pipeline(六):图像分类(image-classification)
pipeline(管道)是huggingface transformers库中一种极简方式使用大模型推理的抽象,将所有大模型分为音频(Audio)、计算机视觉(Computer vision)、自然语言处理(NLP)、多模态(Multimodal)等4大类,28小类任务(tasks)。共计覆盖32万个模型
LDG_AGI
2024/08/13
8350
【人工智能】Transformers之Pipeline(六):图像分类(image-classification)
【人工智能】Transformers之Pipeline(二十六):图片转文本(image-to-text/image-text-to-text)
pipeline(管道)是huggingface transformers库中一种极简方式使用大模型推理的抽象,将所有大模型分为音频(Audio)、计算机视觉(Computer vision)、自然语言处理(NLP)、多模态(Multimodal)等4大类,28小类任务(tasks)。共计覆盖32万个模型
LDG_AGI
2024/12/02
7310
【人工智能】Transformers之Pipeline(二十六):图片转文本(image-to-text/image-text-to-text)
【人工智能】Transformers之Pipeline(二十八):视觉问答(visual-question-answering)
pipeline(管道)是huggingface transformers库中一种极简方式使用大模型推理的抽象,将所有大模型分为音频(Audio)、计算机视觉(Computer vision)、自然语言处理(NLP)、多模态(Multimodal)等4大类,28小类任务(tasks)。共计覆盖32万个模型
LDG_AGI
2024/12/11
2080
【人工智能】Transformers之Pipeline(二十八):视觉问答(visual-question-answering)
【人工智能】Transformers之Pipeline(十二):零样本物体检测(zero-shot-object-detection)
pipeline(管道)是huggingface transformers库中一种极简方式使用大模型推理的抽象,将所有大模型分为音频(Audio)、计算机视觉(Computer vision)、自然语言处理(NLP)、多模态(Multimodal)等4大类,28小类任务(tasks)。共计覆盖32万个模型
LDG_AGI
2024/09/03
3960
【人工智能】Transformers之Pipeline(十二):零样本物体检测(zero-shot-object-detection)
【人工智能】Transformers之Pipeline(二十一):翻译(translation)
今年5月6日,职场焦虑的我在CSDN发布了第一篇文章,5月26日第一次上热榜后,每一篇基本上都进入榜单前5,3个月后,8月25日达到2万粉。
LDG_AGI
2024/11/21
2800
【人工智能】Transformers之Pipeline(二十一):翻译(translation)
【人工智能】Transformers之Pipeline(一):音频分类(audio-classification)
pipeline(管道)是huggingface transformers库中一种极简方式使用大模型推理的抽象,将所有大模型分为音频(Audio)、计算机视觉(Computer vision)、自然语言处理(NLP)、多模态(Multimodal)等4大类,28小类任务(tasks)。共计覆盖32万个模型
LDG_AGI
2024/08/13
1.1K0
【人工智能】Transformers之Pipeline(一):音频分类(audio-classification)
【人工智能】Transformers之Pipeline(十一):零样本图片分类(zero-shot-image-classification)
pipeline(管道)是huggingface transformers库中一种极简方式使用大模型推理的抽象,将所有大模型分为音频(Audio)、计算机视觉(Computer vision)、自然语言处理(NLP)、多模态(Multimodal)等4大类,28小类任务(tasks)。共计覆盖32万个模型
LDG_AGI
2024/09/03
4920
【人工智能】Transformers之Pipeline(十一):零样本图片分类(zero-shot-image-classification)
【人工智能】Transformers之Pipeline(九):物体检测(object-detection)
pipeline(管道)是huggingface transformers库中一种极简方式使用大模型推理的抽象,将所有大模型分为音频(Audio)、计算机视觉(Computer vision)、自然语言处理(NLP)、多模态(Multimodal)等4大类,28小类任务(tasks)。共计覆盖32万个模型
LDG_AGI
2024/08/13
3240
【人工智能】Transformers之Pipeline(九):物体检测(object-detection)
【人工智能】Transformers之Pipeline(二十七):蒙版生成(mask-generation)
pipeline(管道)是huggingface transformers库中一种极简方式使用大模型推理的抽象,将所有大模型分为音频(Audio)、计算机视觉(Computer vision)、自然语言处理(NLP)、多模态(Multimodal)等4大类,28小类任务(tasks)。共计覆盖32万个模型
LDG_AGI
2024/12/11
2360
【人工智能】Transformers之Pipeline(二十七):蒙版生成(mask-generation)
【人工智能】Transformers之Pipeline(十六):表格问答(table-question-answering)
pipeline(管道)是huggingface transformers库中一种极简方式使用大模型推理的抽象,将所有大模型分为音频(Audio)、计算机视觉(Computer vision)、自然语言处理(NLP)、多模态(Multimodal)等4大类,28小类任务(tasks)。共计覆盖32万个模型
LDG_AGI
2024/09/11
4060
【人工智能】Transformers之Pipeline(十六):表格问答(table-question-answering)
【人工智能】Transformers之Pipeline(二十四):文本特征抽取(feature-extraction)
pipeline(管道)是huggingface transformers库中一种极简方式使用大模型推理的抽象,将所有大模型分为音频(Audio)、计算机视觉(Computer vision)、自然语言处理(NLP)、多模态(Multimodal)等4大类,28小类任务(tasks)。共计覆盖32万个模型
LDG_AGI
2024/11/24
4330
【人工智能】Transformers之Pipeline(二十四):文本特征抽取(feature-extraction)
【人工智能】Transformers之Pipeline(十四):问答(question-answering)
pipeline(管道)是huggingface transformers库中一种极简方式使用大模型推理的抽象,将所有大模型分为音频(Audio)、计算机视觉(Computer vision)、自然语言处理(NLP)、多模态(Multimodal)等4大类,28小类任务(tasks)。共计覆盖32万个模型
LDG_AGI
2024/09/03
3020
【人工智能】Transformers之Pipeline(十四):问答(question-answering)
【人工智能】Transformers之Pipeline(十七):文本分类(text-classification)
pipeline(管道)是huggingface transformers库中一种极简方式使用大模型推理的抽象,将所有大模型分为音频(Audio)、计算机视觉(Computer vision)、自然语言处理(NLP)、多模态(Multimodal)等4大类,28小类任务(tasks)。共计覆盖32万个模型
LDG_AGI
2024/09/12
5490
【人工智能】Transformers之Pipeline(十七):文本分类(text-classification)
Transformers 4.37 中文文档(十七)
管道是使用模型进行推断的一种很好且简单的方式。这些管道是抽象出库中大部分复杂代码的对象,提供了专门用于多个任务的简单 API,包括命名实体识别、掩码语言建模、情感分析、特征提取和问答。查看任务摘要以获取使用示例。
ApacheCN_飞龙
2024/06/26
6620
【人工智能】Transformers之Pipeline(二十二):零样本文本分类(zero-shot-classification)
pipeline(管道)是huggingface transformers库中一种极简方式使用大模型推理的抽象,将所有大模型分为音频(Audio)、计算机视觉(Computer vision)、自然语言处理(NLP)、多模态(Multimodal)等4大类,28小类任务(tasks)。共计覆盖32万个模型
LDG_AGI
2024/11/21
4000
【人工智能】Transformers之Pipeline(二十二):零样本文本分类(zero-shot-classification)
【人工智能】Transformers之Pipeline(十九):文生文(text2text-generation)
pipeline(管道)是huggingface transformers库中一种极简方式使用大模型推理的抽象,将所有大模型分为音频(Audio)、计算机视觉(Computer vision)、自然语言处理(NLP)、多模态(Multimodal)等4大类,28小类任务(tasks)。共计覆盖32万个模型
LDG_AGI
2024/09/24
3990
【人工智能】Transformers之Pipeline(十九):文生文(text2text-generation)
【人工智能】Transformers之Pipeline(十):视频分类(video-classification)
pipeline(管道)是huggingface transformers库中一种极简方式使用大模型推理的抽象,将所有大模型分为音频(Audio)、计算机视觉(Computer vision)、自然语言处理(NLP)、多模态(Multimodal)等4大类,28小类任务(tasks)。共计覆盖32万个模型
LDG_AGI
2024/08/20
8040
【人工智能】Transformers之Pipeline(十):视频分类(video-classification)
【人工智能】Transformers之Pipeline(二):自动语音识别(automatic-speech-recognition)
pipeline(管道)是huggingface transformers库中一种极简方式使用大模型推理的抽象,将所有大模型分为音频(Audio)、计算机视觉(Computer vision)、自然语言处理(NLP)、多模态(Multimodal)等4大类,28小类任务(tasks),共计覆盖32万个模型。
LDG_AGI
2024/08/13
7980
【人工智能】Transformers之Pipeline(二):自动语音识别(automatic-speech-recognition)
【人工智能】Transformers之Pipeline(十三):填充蒙版(fill-mask)
pipeline(管道)是huggingface transformers库中一种极简方式使用大模型推理的抽象,将所有大模型分为音频(Audio)、计算机视觉(Computer vision)、自然语言处理(NLP)、多模态(Multimodal)等4大类,28小类任务(tasks)。共计覆盖32万个模型
LDG_AGI
2024/09/03
3440
【人工智能】Transformers之Pipeline(十三):填充蒙版(fill-mask)
Transformers 4.37 中文文档(一)
下表表示库中对这些模型的当前支持,它们是否有 Python 分词器(称为“slow”)。由🤗 Tokenizers 库支持的“fast”分词器,它们是否在 Jax(通过 Flax)、PyTorch 和/或 TensorFlow 中有支持。
ApacheCN_飞龙
2024/06/26
1.3K0
Transformers 4.37 中文文档(一)
推荐阅读
【人工智能】Transformers之Pipeline(六):图像分类(image-classification)
8350
【人工智能】Transformers之Pipeline(二十六):图片转文本(image-to-text/image-text-to-text)
7310
【人工智能】Transformers之Pipeline(二十八):视觉问答(visual-question-answering)
2080
【人工智能】Transformers之Pipeline(十二):零样本物体检测(zero-shot-object-detection)
3960
【人工智能】Transformers之Pipeline(二十一):翻译(translation)
2800
【人工智能】Transformers之Pipeline(一):音频分类(audio-classification)
1.1K0
【人工智能】Transformers之Pipeline(十一):零样本图片分类(zero-shot-image-classification)
4920
【人工智能】Transformers之Pipeline(九):物体检测(object-detection)
3240
【人工智能】Transformers之Pipeline(二十七):蒙版生成(mask-generation)
2360
【人工智能】Transformers之Pipeline(十六):表格问答(table-question-answering)
4060
【人工智能】Transformers之Pipeline(二十四):文本特征抽取(feature-extraction)
4330
【人工智能】Transformers之Pipeline(十四):问答(question-answering)
3020
【人工智能】Transformers之Pipeline(十七):文本分类(text-classification)
5490
Transformers 4.37 中文文档(十七)
6620
【人工智能】Transformers之Pipeline(二十二):零样本文本分类(zero-shot-classification)
4000
【人工智能】Transformers之Pipeline(十九):文生文(text2text-generation)
3990
【人工智能】Transformers之Pipeline(十):视频分类(video-classification)
8040
【人工智能】Transformers之Pipeline(二):自动语音识别(automatic-speech-recognition)
7980
【人工智能】Transformers之Pipeline(十三):填充蒙版(fill-mask)
3440
Transformers 4.37 中文文档(一)
1.3K0
相关推荐
【人工智能】Transformers之Pipeline(六):图像分类(image-classification)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验