实现分类标签展示的魔力——gradio库中的Label模块


❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️

👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博相关......)👈

博主原文链接:https://www.yourmetaverse.cn/nlp/400/
请添加图片描述

(封面图由文心一格生成)

实现分类标签展示的魔力——gradio库中的Label模块

在机器学习和数据科学领域中,将模型的输出结果以可视化方式展示给用户是一种常见的需求。gradio是一个强大的Python库,可以帮助我们快速构建交互式的机器学习和数据科学界面,而其中的Label模块则可以用于显示分类标签及其置信度。

Label模块是gradio库中的一个组件,用于展示分类标签及其置信度。它可以接受一个字典类型的输入,其中包含不同类别及其对应的置信度值。如果只提供一个字符串或数值作为输入,Label模块会直接显示该值。在展示分类标签时,它还可以显示置信度条形图,以直观地表示各个类别的置信度。

Label模块的初始化参数包括:

  • value:默认值,可以是字典、字符串、数字或回调函数。用于设置组件的初始值。
  • num_top_classes:显示置信度最高的几个类别,默认为None,表示显示所有类别的置信度。
  • label:组件的名称,在界面中显示标签。
  • show_label:是否显示标签,默认为True。
  • container:是否将组件放置在容器中,默认为True,提供一定的边框间距。
  • scale:相对于相邻组件的宽度比例,默认为None,表示与相邻组件等宽。
  • min_width:最小像素宽度,默认为160,如果屏幕空间不足,会自动换行。
  • visible:组件是否可见,默认为True。

除了初始化参数外,Label模块还提供了两个方法:change和select。

  • change方法:在组件的值发生改变时触发,无论是因为用户输入还是函数更新。该方法适用于将组件与其他组件关联在一起使用,例如在Gradio Blocks中使用。
  • select方法:在用户选择Label中的某个类别时触发,通过事件数据gradio.SelectData传递valueindex,分别表示选定类别的名称和索引。该方法可以用于处理用户对分类结果的选择操作。

下面是一个使用Label模块的示例代码:

import gradio as gr# 创建一个Label组件实例
label = gr.Label(num_top_classes=3)# 初始化值为一个字典
value = {"Class A": 0.8, "Class B": 0.15, "Class C": 0.05}
label.value = value# 将Label组件添加到界面中
interface = gr.Interface(label, "label")
interface.launch()

在上述示例中,我们创建了一个Label组件实例,并通过value参数设置了标签的初始值。然后,我们将Label组件添加到了一个界面中,并

通过launch方法启动了界面。在界面中,可以看到Label组件显示了分类标签及其置信度。

使用gradio库的Label模块,我们可以方便地将模型的分类结果以可视化的方式展示给用户,提供更加直观和友好的交互体验。无论是用于机器学习模型的部署还是数据科学的可视化分析,Label模块都是一个非常实用的工具。

通过gradio库的Label模块,你可以让你的机器学习模型和数据科学项目更具吸引力和实用性,提升用户体验和结果可解释性。

参数详解

Label模块参数

参数数据类型默认值描述
valuedict[str, float] / str / float / Callable / NoneNone在组件中显示的默认值。如果提供了字符串或数字,则简单显示该字符串或数字。如果提供了{Dict[str, float]}类型的类和置信度,则显示顶部类别及其下方的num_top_classes和置信度条。如果是可调用的,则每次加载应用程序时将调用该函数以设置组件的初始值。
num_top_classesint / NoneNone要显示的最自信类别的数量。
labelstr / NoneNone组件在界面中的名称。
everyfloat / NoneNone如果value是可调用的,将在客户端连接打开时每隔every秒运行该函数。否则不起作用。必须启用队列。可以通过该组件的.load_event属性访问该事件(例如取消它)。
show_labelboolTrue如果为True,将显示标签。
containerboolTrue如果为True,将组件放入容器中-在边框周围提供一些额外的填充。
scaleint / NoneNone相对于相邻组件的宽度比例。例如,如果组件A的scale=2,组件B的scale=1,则A的宽度将是B的两倍。应为整数。
min_widthint160最小像素宽度,如果屏幕空间不足以满足此值,则换行。如果某个比例值导致该组件比min_width更窄,则首先将遵守min_width参数。
visibleboolTrue如果为False,将隐藏组件。
elem_idstr / NoneNone可选的字符串,用作此组件在HTML DOM中的id。可用于定位CSS样式。
elem_classeslist[str] / str / NoneNone可选的字符串列表,用作此组件在HTML DOM中的类。可用于定位CSS样式。
colorstr / NoneNone标签的背景颜色(可以是有效的CSS颜色名称或十六进制字符串)。

change方法参数

参数数据类型描述
fnCallable / None必需。要包装界面的函数,通常是机器学习模型的预测函数。函数的每个参数对应一个输入组件,函数应返回一个值或一个值的元组,元组中的每个元素对应一个输出组件。
inputsComponent / list[Component] / set[Component] / None默认值:None。要用作输入的组件列表。如果函数不接受输入,则应为空列表。
outputsComponent / list[Component] / None默认值:None。要用作输出的组件列表。如果函数不返回输出,则应为空列表。
api_namestr / None默认值:None。定义此参数会在API文档中公开该端点。
status_trackerNone默认值:None。
scroll_to_outputbool默认值:False。如果为True,将在完成时滚动到输出组件。
show_progress‘full’ / ‘minimal’ / ‘hidden’默认值:“full”。如果为True,将在等待期间显示进度动画。
queuebool / None默认值:None。如果为True,将请求放入队列(如果启用了队列)。如果为False,则不会将此事件放入队列,即使启用了队列。如果为None,则使用gradio应用程序的队列设置。
batchbool默认值:False。如果为True,则函数应处理一批输入,这意味着它应接受每个参数的输入值列表。列表应具有相等的长度(并且最多长度为max_batch_size)。然后必须返回一个元组的列表(即使只有一个输出组件),元组中的每个列表对应一个输出组件。
max_batch_sizeint默认值:4。如果从队列中调用此方法,则最多将输入合并在一起的输入数量。仅在batch=True时相关。
preprocessbool默认值:True。如果为False,则在运行’fn’之前不会运行组件数据的预处理(例如,如果使用Image组件调用此方法,则将其保留为base64字符串)。
postprocessbool默认值:True。如果为False,则在将’fn’的输出返回给浏览器之前不会运行组件数据的后处理。
cancelsdict[str, Any] / list[dict[str, Any]] / None默认值:None。在此侦听器触发时要取消的其他事件列表。例如,设置cancels=[click_event]将取消click_event,其中click_event是另一个组件的.click方法的返回值。尚未运行的函数(或正在迭代的生成器)将被取消,但当前正在运行的函数将被允许完成。
everyfloat / None默认值:None。在客户端连接打开时每隔every秒运行此事件。以秒为单位解释。必须启用队列。

select方法参数

参数数据类型描述
fnCallable / None必需。要包装界面的函数,通常是机器学习模型的预测函数。函数的每个参数对应一个输入组件,函数应返回一个值或一个值的元组,元组中的每个元素对应一个输出组件。
inputsComponent / list[Component] / set[Component] / None默认值:None。要用作输入的组件列表。如果函数不接受输入,则应为空列表。
outputsComponent / list[Component] / None默认值:None。要用作输出的组件列表。如果函数不返回输出,则应为空列表。
api_namestr / None默认值:None。定义此参数会在API文档中公开该端点。
status_trackerNone默认值:None。
scroll_to_outputbool默认值:False。如果为True,将在完成时滚动到输出组件。
show_progress‘full’ / ‘minimal’ / ‘hidden’默认值:“full”。如果为True,将在等待期间显示进度动画。
queuebool / None默认值:None。如果为True,将请求放入队列(如果启用了队列)。如果为False,则不会将此事件放入队列,即使启用了队列。如果为None,则使用gradio应用程序的队列设置。
batchbool默认值:False。如果为True,则函数应处理一批输入,这意味着它应接受每个参数的输入值列表。列表应具有相等的长度(并且最多长度为max_batch_size)。然后必须返回一个元组的列表(即使只有一个输出组件),元组中的每个列表对应一个输出组件。
max_batch_sizeint默认值:4。如果从队列中调用此方法,则最多将输入合并在一起的输入数量。仅在batch=True时相关。
preprocessbool默认值:True。如果为False,则在运行’fn’之前不会运行组件数据的预处理(例如,如果使用Image组件调用此方法,则将其保留为base64字符串)。
postprocessbool默认值:True。如果为False,则在将’fn’的输出返回给浏览器之前不会运行组件数据的后处理。
cancelsdict[str, Any] / list[dict[str, Any]] / None默认值:None。在此侦听器触发时要取消的其他事件列表。例如,设置cancels=[click_event]将取消click_event,其中click_event是另一个组件的.click方法的返回值。尚未运行的函数(或正在迭代的生成器)将被取消,但当前正在运行的函数将被允许完成。
everyfloat / None默认值:None。在客户端连接打开时每隔every秒运行此事件。以秒为单位解释。必须启用队列。

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️

👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博相关......)👈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/14976.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端面试刷题整理

第一题:es6 class语法 题目:现有三种菜单,button属性,select属性,model属性 class Mune{constructor(title,icon){this.title titlethis.icon icon}isDisabled(){return false}exec(){} } class Button extends Mun…

3.3.内存的学习,pinnedmemory,内存效率问题

目录 前言1. Memory总结 前言 杜老师推出的 tensorRT从零起步高性能部署 课程,之前有看过一遍,但是没有做笔记,很多东西也忘了。这次重新撸一遍,顺便记记笔记。 本次课程学习精简 CUDA 教程-内存模型,pinned memory&am…

双非本大二上岸大厂——念念不忘,必有回响

⭐️前言⭐️ 博主就读于一所普通的学校(双非本),在大二下学期3月份开始网上投递简历,历时近百余天,投递简历500,面试近40余场,最终在6月份学期末,斩获了两个大厂offer(北…

windows环境安装robotframework-ride

在Windows环境下,可以通过以下步骤安装Robot Framework RIDE: 安装Python 首先,需要在Windows环境下安装Python。建议使用Python 3.x版本,可以从官方网站下载并安装:https://www.python.org/downloads/windows/ 安装w…

剑指offer27.二叉树的镜像

这道题很简单,写了十多分钟就写出来了,一看题目就知道这道题肯定要用递归。先交换左孩子和右孩子,再用递归交换左孩子的左孩子和右孩子,交换右孩子的左孩子和右孩子,其中做一下空判断就行。以下是我的代码:…

传输方式的分类【图解TCP/IP(笔记五)】

文章目录 传输方式的分类面向有连接型和无连接型面向有连接型面向无连接型 电路交换与分组交换根据接收端数量分类单播(Unicast)广播(Broadcast)多播(Multicast)任播(Anycast) 传输方…

[VUE学习]权限管理系统前端vue实现8-右上角用户头像显示实现

1.登录成功之后存储 用户信息 在store里面添加代码 SET_USERINFO: (state, userInfo) > {sessionStorage.setItem("userInfo", JSON.stringify(userInfo))},GET_USERINFO: state > {return JSON.parse(sessionStorage.getItem("userInfo"))} 2.Logi…

基于matlab处理来自立体相机图像数据构建室外环境地图并估计相机的轨迹(附源码)

一、前言 视觉同步定位和映射 (vSLAM) 是指计算摄像机相对于周围环境的位置和方向,同时映射环境的过程。该过程仅使用来自相机的视觉输入。vSLAM 的应用包括增强现实、机器人和自动驾驶。vSLAM 只需使用单眼摄像头即可执行。但是&#xff0c…

区间dp(动态规划)

动态规划——区间dp 什么是动态规划区间dp定义应用 例题引入题目描述输入格式输出格式样例样例输入样例输出 提示 贪心法区间dp优缺点:AC代码:代码详解三层for循环状态转移方程环形的处理 什么是动态规划 动态规划(dp)是一种通过…

使用Gradio库创建交互式散点图

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

Javaee技术目的总结

一.前节回顾 在前一节中,我们了解了: 1.将中央控制器中的Action容器,变成可控制! 2.针对于反射调用业务代码,最终页面跳转 3.jsp页面参数传递后台的代码优化字段太多有影响! 二.项目部署前期准备工作 1.项目运行环境…

分布式运用——监控平台 Zabbix

分布式运用——监控平台 Zabbix 一、Zabbix概述1.监控平台的作用2.Zabbix 是什么?3.Zabbix的特点4.Zabbix的使用场景5.Zabbix 监控原理6.Zabbix 6.0 新特性7.Zabbix 6.0 功能组件①.Zabbix Server②.数据库③.Web 界面④.Zabbix Agent⑤.Zabbix Proxy⑥.Java Gatewa…