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

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 pipelinemodel_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('')

相关文章:

huggingface 模型推理几个重要到类

pipeline 它可以让您方便地使用预训练的模型进行各种任务。当您用pipeline函数创建一个图像分割的pipeline时,它会自动加载和初始化一个SegformerForSemanticSegmentation的实例,并且封装了一些预处理和后处理的逻辑,例如将图像转换为张量&a…...

qml之动态元素类型

文章目录 动画例子 应用动画例子 缓动曲线例子 动画分组例子 嵌套动画代码 状态和转换代码 动画 QMlL使用插值的方式控制属性的更改。动画是在指定的时间内一些列属性的持续变化。 常用的动画类型元素动画:PropertyAnimation:属性值改变播放动画NumberAnimation:qr…...

超详细 | 差分进化算法原理及其实现(Matlab/Python)

差分进化(Differential Evolution,DE)算法是由美国学者Storn和 Price在1995年为求解Chebyshev多项式拟合问题而提出的。算法主要通过基于差分形式的变异操作和基于概率选择的交叉操作进行优化搜索,虽然其操作名称和遗传算法相同,但实现方法有…...

大二第三周总结(算法+生活)

算法: 题目:有效的括号 这个题目也是做过很多回了。主要就是数据结构中”栈“的应用,先进后出。 解题思路: 1.创建 Map 哈希表形成键值对映射 2.进行遍历字符串 在遍历过程中 如果 遍历到的字符c 是左括号,则入栈 pu…...

Lake Formation 和 IAM 之间的区别与联系

IAM 和 Lake Formation 都是 AWS 上的权限管理服务,且默认都是自动开启并生效的,只是如果你没有特别配置过它们,可能感觉不到它们的存在,特别是Lake Formation(后文简写为 LF),通常情况下都是“透明”的,但它确实在每次请求时进行了权限检查。本文会详细介绍一下两者之…...

音频抓取代码示例

以下是一个使用DefaultsKit库的简单爬虫程序,用于爬取音频。代码中使用了https://www.duoip.cn/get_proxy的API获取代理服务器。 import Foundation import DefaultsKit ​ let url "https://www.douban.com/music" // 目标网站URL let proxyUrl "…...

Hexo搭建个人博客系列之环境准备

环境准备 Git Git官网,安装过程,就是一直下一步,详细的看这篇文章 Git的安装 Node.js Node.js官网 Node.js的安装 注册一个GitHub账号 安装hexo 新建一个文件夹(位置任意),运行cmd(若出现了operation not permitted,就以管理员的权限来运行cmd),运行…...

小程序技术在信创操作系统中的应用趋势:适配能力有哪些?

小程序技术在信创操作系统中的应用前景非常广阔,但也面临着一些挑战和问题。开发者需要积极应对这些挑战和问题,为信创操作系统的发展和推广做出贡献。同时,开发者也需要关注小程序技术在信创操作系统中的应用趋势,积极探索新的应…...

word修改公式默认字体并打出漂亮公式

文章目录 word公式简介传统方法1——mathtype传统方法2——word自带公式编辑器最简洁方法——更改word自带公式字体快捷方式效果展示 word公式简介 word自带的公式字体Cambria Math不可否认很丑,要打出latex格式的漂亮字体很困难。使用Markdown工具很多只能导出为不…...

Day 08 python学习笔记

函数 作用域 作用域:变量的访问权限 全局变量与局部变量 声明在函数外边的变量----全局变量 ----》全局作用域 函数内部的变量------局部变量 ----》局部作用域顶格创建的函数也是全局的 例: a 100def test_01():a 0b 110print…...

Qt Designer如何安装,打开方式

Qt Designer分为PyQt5 Qt Designer、PySide6 Qt Designer,下面分别介绍各自的安装方式和打开方式 首先,检查是否安装了python,使用cmd打开命令行窗口,输入: python --version若出现python的版本号,则已安…...

《Effective C++》知识点(1)--让自己习惯C++

多年前看过的这本书(侯捷翻译的),忘得差不多了,重温复习一下。 1. 视C为一个语言联邦 C并不只是一个带有一组守则的一体语言;它是从四个次语言组成的联邦(federation)政府,每个次语言都有自己的规约。 次语言说明CC是C的基础&am…...

UVM 验证方法学之interface学习系列文章(八)《interface不小心引入X态问题》

前面的文章学习,想必大家都对interface 有了深入了解。大家可不要骄傲哦,俗话说:小心驶得万年船。今天,再给大家介绍一个工作中,不是经常遇到,但是一旦遇到,会让你纠结很久的事情。 前面文章提到,随着验证复杂度的不断增加,interface 的bind 的操作,是必不可少的用法…...

BBR算法的几种状态

BBR(Bottleneck Bandwidth and Round-trip propagation time)算法根据互联网的拥塞行为定义了四种状态:STARTUP、DRAIN、PROBE_BW和PROBE_RTT。下面对每种状态进行详细解释,并说明它们之间的区别: STARTUP(…...

利用jupyter进行分类

Jupyter Notebook是一个非常强大的工具,可以用于各种数据分析和机器学习任务,包括分类问题。在Jupyter Notebook中进行分类通常需要以下步骤: 导入所需的库:首先,你需要导入必要的Python库,例如NumPy、Pand…...

【LeetCode 算法专题突破】滑动窗口(⭐)

文章目录 前言1. 长度最小的子数组题目描述代码 2. 无重复字符的最长子串题目描述代码 3. 最大连续1的个数 III题目描述代码 4. 将 x 减到 0 的最小操作数题目描述代码 5. 水果成篮题目描述代码 6. 找到字符串中所有字母异位词题目描述代码 7. 串联所有单词的子串题目描述代码 …...

按键中断控制LED灯亮灭

EXTI—外部中断/事件控制器 EXTI(External interrupt/event controller)—外部中断/事件控制器,管理了控制器的 20 个中断/事 件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的 检测。EXTI可…...

YOLOV8目标检测——模型训练

文章目录 1下载yolov8([网址](https://github.com/ultralytics/ultralytics))2用pycharm打开文件3训练自己的YOLOV8数据集4run下运行完了之后没有best.pt文件5导出为onnx文件 本章内容主要解决如何训练自己的YOLOV8模型。 1下载yolov8(网址&a…...

利用dockerfile升级flink的curl

最近Nusses扫出flink镜像有CURL漏洞,才发现要更新到最新版本 8.4.0,笔者当时flink版本为: flink:1.17.1-scala_2.12-java8 官方镜像仓库:https://hub.docker.com/_/flinkapt源 我试了如上2种方法,都不能更新curl到8…...

element 日期选择器禁止选择指定日期前后时间

画圈重点&#xff1a;disabledDate的写法要用箭头函数&#xff0c;不能用普通函数写法&#xff0c;否则this指向就错了&#xff0c;会报 undefined <el-date-picker v-model"time" type"date" value-format"yyyy-MM-dd" :…...

别再按分钟收剪辑费了:内容再利用才是更值钱的服务

很多创作者不是缺内容,是同一份内容浪费得太厉害。 我最近连续看这类项目,结论越来越清楚:一条长内容如果只能发一次,内容生产成本就永远下不来。 我不建议你把自己做成纯后期,真正能涨价的是‘一份内容,多次分发’。 一、我为什么判断这事能收钱 很多人看项目,只看热…...

线上服务偶发SSL握手失败?别急着改代码,先学会用Wireshark抓包定位真凶

线上服务偶发SSL握手失败&#xff1f;别急着改代码&#xff0c;先学会用Wireshark抓包定位真凶 当线上服务突然报出"Remote host closed connection during handshake"这类模糊错误时&#xff0c;很多工程师的第一反应是翻查SSL版本配置或证书信任策略。但真实情况往…...

给工科生的Elsevier投稿避坑指南:从《海洋工程》期刊审稿人视角看论文结构与语言

工科生Elsevier投稿实战指南&#xff1a;从审稿人视角拆解《海洋工程》期刊偏好 第一次向Elsevier旗下期刊投稿的工科生&#xff0c;往往会被长达三个月的审稿周期和高达60%的初审拒稿率吓退。作为《海洋工程》的活跃审稿人&#xff0c;我见过太多本可避免的"技术性拒稿&q…...

电磁波极化类型快速识别指南:从线极化到圆极化的实战判断技巧

电磁波极化类型快速识别指南&#xff1a;从线极化到圆极化的实战判断技巧 在无线通信和雷达系统的调试现场&#xff0c;工程师们常会遇到这样的困境&#xff1a;手持频谱仪却难以判断天线发射的究竟是水平极化波还是右旋圆极化波。去年参与某卫星地面站项目时&#xff0c;我们就…...

用C语言手把手教你写一个Linux虚拟键盘驱动(基于uinput模块)

用C语言手把手教你写一个Linux虚拟键盘驱动&#xff08;基于uinput模块&#xff09; 在嵌入式开发和系统编程领域&#xff0c;模拟用户输入是一个常见需求。想象一下这样的场景&#xff1a;你正在开发一台没有物理键盘的工业控制设备&#xff0c;或者需要为自动化测试创建可靠的…...

基恩士DL-EP1与欧姆龙PLC的EIP通信实战:从IP配置到数据读取

1. 硬件连接与基础环境搭建 第一次接触基恩士DL-EP1和欧姆龙PLC通信时&#xff0c;我花了大半天时间才搞明白硬件连接的门道。DL-EP1这个传感器网关就像个翻译官&#xff0c;负责把基恩士传感器的"方言"转换成EtherNet/IP这种PLC能听懂的"普通话"。实际操作…...

从‘一个向量’到‘三个向量’:为什么Transformer的Attention非得用Q、K、V?聊聊设计背后的权衡

从‘一个向量’到‘三个向量’&#xff1a;Transformer注意力机制中Q、K、V的设计哲学 在深度学习领域&#xff0c;Transformer架构彻底改变了自然语言处理的游戏规则。而其中最具革命性的设计&#xff0c;莫过于那个看似简单却暗藏玄机的注意力机制——特别是它独特的Q&#x…...

Rust的闭包语法糖与函数指针在回调接口中的转换与互操作性

Rust的闭包语法糖与函数指针在回调接口中的转换与互操作性 Rust作为一门注重安全与性能的系统级语言&#xff0c;其闭包和函数指针的设计在回调接口中扮演着重要角色。闭包提供了灵活的上下文捕获能力&#xff0c;而函数指针则以轻量级和确定性著称。两者在回调场景下的转换与…...

从零到一:Ubuntu上COLMAP三维重建全流程实战解析

1. 准备工作&#xff1a;认识COLMAP与Ubuntu环境配置 第一次接触三维重建时&#xff0c;我被COLMAP这个开源工具惊艳到了。它就像给普通照片装上"3D扫描仪"&#xff0c;能把手机拍摄的二维照片变成三维模型。这里分享我在Ubuntu 20.04上从零开始使用COLMAP的完整经历…...

MetaboAnalystR 4.0:从原始质谱数据到生物学洞察的完整代谢组学分析实战

MetaboAnalystR 4.0&#xff1a;从原始质谱数据到生物学洞察的完整代谢组学分析实战 【免费下载链接】MetaboAnalystR R package for MetaboAnalyst 项目地址: https://gitcode.com/gh_mirrors/me/MetaboAnalystR 代谢组学研究常常让研究人员感到头疼&#xff1a;原始LC…...