huggingface 模型推理几个重要到类

pipeline

它可以让您方便地使用预训练的模型进行各种任务¹。当您用pipeline函数创建一个图像分割的pipeline时,它会自动加载和初始化 一个SegformerForSemanticSegmentation的实例并且封装了一些预处理和后处理的逻辑,例如将图像转换为张量,将输出转换为分割图等²。您可以直接用pipeline函数对图像或图像列表进行分割,而不需要关心模型的细节。

SegformerForSemanticSegmentation

SegformerForSemanticSegmentation是一个具体的模型类,它由一个分层的Transformer编码器和一个轻量级的全MLP解码器组成,可以实现高效的图像分割³。当您用SegformerForSemanticSegmentation.from_pretrained方法加载一个预训练的模型 时,它会返回一个 SegformerForSemanticSegmentation的实例 ,但是您需要自己处理输入和输出的数据格式,例如使用AutoFeatureExtractor来提取图像特征,使用torch.argmax来获取分割结果等。

AutoModel

AutoModel.from_pretrained是一个通用的方法,它可以根据给定的模型名称或路径,自动识别模型的类型 ,并返回一个相应的模型类的实例³。例如,如果给定的模型名称是"bert-base-chinese",那么这个方法会返回一个BertModel的实例,它是一个用于文本表示的模型。这个方法可以处理多种不同类型的模型,但是它不能处理特定任务的模型,例如图像分割或序列标注。

本人实验代码:

复制代码
import cv2
import PIL.Image as Image
import numpy as np
from transformers import pipeline

model_dir = '/speed/speed/code/DECA/face_parsing_model/face-parsing'
image_path = "/speed/speed/code/DECA/TestSamples/examples/6.png"

pipe = pipeline("image-segmentation", model="jonathandinu/face-parsing")
img = Image.open(image_path)
# 加载图片
# img = cv2.imread(image_path)
# 预处理图片
# img = cv2.resize(img, (256, 256))
# img = img.astype(np.float32) / 255.0

# 使用模型分割图片
result = pipe(img)

# Load model directly
from transformers import AutoFeatureExtractor, SegformerForSemanticSegmentation
from transformers import AutoFeatureExtractor, AutoModel
model_dir = '/speed/speed/code/DECA/face_parsing_model/face-parsing'
image_path = "/speed/speed/code/DECA/TestSamples/examples/6.png"

# extractor = AutoFeatureExtractor.from_pretrained("jonathandinu/face-parsing")
# model = SegformerForSemanticSegmentation.from_pretrained("jonathandinu/face-parsing")
extractor = AutoFeatureExtractor.from_pretrained(model_dir)
model = SegformerForSemanticSegmentation.from_pretrained(model_dir)

img = Image.open(image_path)
# 加载图片
img = cv2.imread(image_path)
img = cv2.resize(img, (1024, 1024))

inputs = extractor(img, return_tensors="pt")
outputs = model(**inputs).logits
print('')
相关推荐
薛定猫AI2 分钟前
【技术干货】OpenManus 智能体框架深度解析:从 Agent Loop 到本地可控 AI 工作流实战
人工智能
测试员周周4 分钟前
【AI测试功能4】别再用传统等价类设计 AI测试用例了——语义覆盖的四种变体方法
人工智能·python·测试
devpotato9 分钟前
人工智能(十四)- 思维链(Chain of Thought, CoT)
人工智能·llm
CIO_Alliance9 分钟前
iPaaS白皮书(第二章)| 核心隐喻与价值主张:NEBULA模型的理念基础
人工智能·ipaas·系统集成·制造业·企业数智化转型
蓝瑟22 分钟前
当"指挥 AI"成为核心技能,工程师的护城河在哪里?
人工智能·程序员·ai编程
听麟23 分钟前
HarmonyOS 6.0+ 智能语音笔记APP开发实战:实时转写与多模态内容整合落地
人工智能·华为·harmonyos
科研前沿25 分钟前
智慧军营三维实时重构与人员定位应用价值及技术突破
大数据·人工智能·重构
南宫萧幕26 分钟前
Simulink 发动机闭环控制仿真实战:从底层搭建、Scope 调试到论文级 MAP 图输出
人工智能·matlab·汽车·控制
oscar99931 分钟前
当 AI 学会“动手”:DeepSeek-TUI 是如何用终端颠覆编程工作的?
人工智能·deepseek-tui
MY_TEUCK32 分钟前
【MY_TRUCK - AI 应用】RAG 与 LangChain 入门:检索增强生成、向量检索与链式编排
人工智能·机器学习·langchain