gradio常用组件
gradio常用组件
- 1.gradio程序启动
- 2.写入html相关代码
- 3.文本框
- 4. 回车触发事件
- 5.选择按钮框
- 6.下拉框
- 7.点击按钮
- 8.清空按钮
- 9.监听组件
- 10.输出流
- 11.template
1.gradio程序启动
import gradio as gr
def tab():pass
with gr.Blocks() as ui:gr.Markdown("# <center>🕵️♂️gradio test 🕵️♂️</center>")tab()
ui.launch(server_name='127.0.0.1', server_port=8080,show_api=False, debug=True,share=True)
2.写入html相关代码
gr.Markdown("# <center>🕵️♂️ Chatglm robot 🕵️♂️</center>")
3.文本框
# placeholder:默认提示词
text=gr.Textbox( label='user',placeholder='input question')
4. 回车触发事件
msg = gr.Textbox( label='user',placeholder='input question')
msg.submit(user, [msg, chatbot], [msg, chatbot], queue=False).then(bot, chatbot, chatbot)
5.选择按钮框
mode_name= gr.Radio(['小红', '小白', '小胖', '小黑'], label='name', value='小红')
6.下拉框
# value:默认值
# label:组件名称
mode_type= gr.Dropdown(['1','2','3','4'], label='type', value='1')
7.点击按钮
# inputs:输入组件(输入参数),outputs:输出组件(输出参数)
# fn:触发时调用的函数
button = gr.Button("点击")
button.click(fn=update_keys, inputs=[model_key], outputs=prompt_key)
8.清空按钮
text=gr.Textbox( label='user',placeholder='input question')
clear = gr.Button("清除历史记录")
clear.click(lambda: None, None, text, queue=False)
9.监听组件
-
输入组件变化,输出组件也变化
import gradio as gr def tab():mode_input=gr.Textbox( label='user',placeholder='input question')mode_output =gr.Textbox( label='user',placeholder='input question')# mode_input值改变,mode_output值也会跟着改变# inputs:输入组件(输入参数),outputs:输出组件(输出参数)# fn:触发时调用的函数mode_input.change(fn=lambda x:x, inputs=mode_input, outputs=mode_output) with gr.Blocks() as ui:gr.Markdown("# <center>🕵️♂️gradio test 🕵️♂️</center>")tab() ui.launch(server_name='127.0.0.1', server_port=8080,show_api=False, debug=True,share=True) -
输入组件变化,对应的下拉框显示的值也变化
# data为pandas文件 mode_type= gr.Dropdown(types, label='type', value=types[0]) mode_title = gr.Dropdown(list(data[data['type']==types[0]]['title'].unique()), label='title') mode_type.change(fn=lambda x:gr.update(choices=list(data[data['type']==x]['title'].unique())), inputs=mode_type, outputs=mode_title)
10.输出流
import time
import gradio as grdef user(user_message, history):return "", history + [[user_message, None]]def bot(history):bot_message = history[-1][0]history[-1][1] = ""for character in bot_message:history[-1][1] += charactertime.sleep(0.05)yield history
def robot_tab():chatbot = gr.Chatbot(label='robot')msg = gr.Textbox( label='user',placeholder='input question')button = gr.Button("generate answer")# then: 监听事件button.click(user, [msg, chatbot], [msg, chatbot], queue=False).then(bot, chatbot, chatbot)clear = gr.Button("清除历史记录")clear.click(lambda: None, None, chatbot, queue=False)with gr.Blocks() as ui:gr.Markdown("# <center>🕵️♂️ stream 🕵️♂️</center>")robot_tab()
# 使用队列提交数据
ui.queue()
ui.launch(server_name='127.0.0.1', server_port=8080,show_api=False, debug=True,share=True)
11.template
- 模板:下代码在这个模板的基础下修改即可
import cv2 import gradio as grdef update(mode_name,mode_age,mode_gender,mode_height):# image = image.convert('RGB')text=f'我叫{mode_name},性别{mode_gender},身高{mode_height},今年{mode_age}岁。'return text# return imagedef prompt_tab():with gr.Column():with gr.Row():image = gr.Image(type='pil', label="Image")with gr.Column():mode_name= gr.Radio(['小红', '小白', '小胖', '小黑'], label='name', value='小红')mode_age = gr.Radio(['18', '30', '40', '50'], label='age', value='18')mode_gender = gr.Radio(['女', '男'], label='gender', value='女')mode_height = gr.Dropdown(['160','165','170','175','180'], value='160', label='height')prompt = gr.Textbox(label="Prompt")button = gr.Button("Personal Information")button.click(fn=update, inputs=[mode_name,mode_age,mode_gender,mode_height], outputs=prompt)def image_analysis(input_image):output_image =input_imagereturn output_imagedef analyze_tab():with gr.Column():with gr.Row():# 创建输入组件input_image = gr.Image(type='numpy', label="Image")with gr.Column():# 创建输出组件# output_image = gr.outputs.Image(type='pil', label="Image")output_image = gr.outputs.Image(type='numpy',label="Image")button = gr.Button("Analyze")button.click(image_analysis, inputs=[input_image], outputs=[output_image])with gr.Blocks() as ui:gr.Markdown("# <center>🕵️♂️ gradio project 🕵️♂️</center>")with gr.Tab("Prompt"):prompt_tab()with gr.Tab("Analyze"):analyze_tab()ui.launch(server_name='127.0.0.1', server_port=8080,show_api=False, debug=True,share=True)
相关文章:
gradio常用组件
gradio常用组件 1.gradio程序启动2.写入html相关代码3.文本框4. 回车触发事件5.选择按钮框6.下拉框7.点击按钮8.清空按钮9.监听组件10.输出流11.template 1.gradio程序启动 import gradio as gr def tab():pass with gr.Blocks() as ui:gr.Markdown("# <center>&am…...
vcode开发go
配置环境变量 go env -w GO111MODULEon go env -w GOPROXYhttps://goproxy.cn,direct 创建文件夹 mkdir hello cd hello go mod help go mod help 初始化一个项目 go mod init hello 获取第三方包 go get github.com/shopspring/decimal 将依赖包下载到本地 go mod …...
聊城大学823软件工程考研
1.什么是软件工程?它目标和内容是什么? 软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科。 软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植&…...
Spring Initailizr--快速入门--SpringBoot的选择
😀前言 本篇博文是关于IDEA使用Spring Initializer快速创建Spring Boot项目的说明,希望能够帮助到您😊 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可…...
大数据课程I1——Kafka的概述
文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解Kafka的概念; ⚪ 掌握Kafka的配置与启动; 一、简介 1. 基本概念 Apache kafka 是一个分布式数据流平台。可以从如下几个层面来理解: 1. 我们可以向Kafka发布数据以及从Kafka订阅…...
视图簇 se54 sm34 se54
今天演练了一下 维护视图到视图簇的过程。 se11建表,建表之后 【使用程序】→【表维护生成器】 se54 新建视图簇 对象结构 选中其中一行 字段附属 PS:以上每一行都要设置过去 , 设置完成了 激活 sm34展示...
风丘科技将亮相 EVM ASIA 2023
风丘科技将首次亮相 EVM ASIA 2023 WINDHILL will debut EVM ASIA 2023 ——可持续移动的未来 —The Future of SUSTAINABLE Mobility EVM ASIA 2023是亚太地区电气化的国际性展会,专注于新能源汽车、充电技术及汽车零件制造等。展会致力于促进包括充电站、交通…...
腾讯云服务器S6、SA3、S5、SA2等CVM实例介绍
腾讯云服务器CVM实例标准型S6、SA3、S5、SA2等多款实例降价,最高幅度达40%,标准型S6云服务器是新一代云服务器,SA3和SA2是AMD处理器,标准型S5是次新一代的云服务器,如下图: 腾讯云服务器CVM降价 标准型S6&a…...
使用kickstart和anaconda自动化安装centos系统
使用kickstart和anaconda自动化安装centos系统 使用kickstart和anaconda自动化安装centos系统 anaconda 介绍 kickstart 介绍 实验过程 前提 1.已经安装好至少两台centos系统 2.需要实现自动安装的系统的光盘镜像 3.已安装的系统之间可以通讯(比如处于VMware中的NAT网络的…...
Delphi7通过VB6之COM对象调用PowerBASIC写的DLL功能
Delphi7通过VB6之COM对象调用PowerBASIC写的DLL功能。标题挺长,其实目标很简单,就是在Delphi7中使用PowerBASIC的MKI/CVI, MKS/CVS, MKD/CVD,并顺便加入CRC16检验函数,再进行16进制高低字节调整,方便在VB6、Delphi、La…...
中电金信:ChatGPT一夜爆火,知识图谱何以应战?
随着ChatGPT的爆火出圈 人工智能再次迎来发展小高潮 那么作为此前搜索领域的主流技术 知识图谱前路又将如何呢? 事实上,ChatGPT也并非“万能”,作为黑箱模型,ChatGPT很难验证生成的知识是否准确。并且ChatGPT是通过概率模型执行推…...
单细胞分类和预测任务
对于分类和预测任务,在生物信息学领域有一些常用的方法和工具可以使用。以下是一些常见的方法和工具: 1. 机器学习方法: 包括支持向量机(Support Vector Machine,SVM)、随机森林(Random Forest…...
那些年的Webview开发经验记录
获取网站视频真实链接 直接上工具类 直接调用即可,这个工具类会返回加载的网页中所有的链接,至于对链接怎么处理就是你们自己的事了, 亲测至今我所遇到的所有视频,它都可以捕获到其链接 import android.app.Activity; import an…...
ssh-keygen详解
ssh-keygen命令参数详解 -b BITS指定密钥长度。 -e读取私有或公共 OpenSSH 密钥文件并以 -m 选项指定的格式之一将密钥打印到标准输出。 -C添加注释。 -f FILENAME指定用来保存密钥的文件名。 -i以 -m 选项指定的格式读取未加密的私钥(或公钥)文件&…...
自动方向识别式 LSF型电平转换芯片
大家好,这里是大话硬件。 今天这篇文章想分享一下电平转换芯片相关的内容。 其实在之前的文章分享过一篇关于电平转换芯片的相关内容,具体可以看链接《高速电路逻辑电平转换设计》。当时这篇文章也是分析的电平转换芯片,不过那时候更多的是…...
轻量的工作流引擎:告别低效,创造新高!
伴随着日益激烈的市场竞争,作为新时代的企业,如何在众多同质化竞争中脱颖而出,占有更多的市场份额,实现更大发展?此时此刻就需要拥有不同寻常的头脑,寻找不平常的路径,轻量的工作流引擎是低代码…...
Linux-mysql安装
1. 获取rpm wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm 2. 安装rpm rpm -ivh mysql57-community-release-el7-9.noarch.rpm 3. 确认依赖文件 cd /etc/yum.repos.d ls 查看该文件夹下是否已存在如下两个文件 4. import mysql 的公钥到RPM…...
山东布谷科技直播平台搭建游戏开发技术分享:数据存储的重要意义
在市场上的热门的直播平台中,有很多小程序为用户提供各种各样的功能,这其中就有很多游戏小程序,当今社会独生子女众多,很多作为独生子女的用户都会去选择一个能够社交互动的APP来填补内心的空虚,而直播平台的实时互动的…...
MyBatisPlus的介绍
本资料仅用于学习和讨论,如有侵权请反馈 https://mp .baomidou. com/ MyBatis-Plus 1.1 为什么网站叫做苞米逗是国人开发的 1.2 点击快速开发 1.3 点击快速开始 1.4 Mybatis的特性 2、快速的把数据层的标准开发给做完: 2.1上来就来标准开发了…...
麻省理工学院利用水泥和炭黑制造出超级电容器
麻省理工学院的研究人员展示了一种使用低成本水泥和炭黑的制造的超级电容器,这一发明可能会彻底颠覆可再生能源的存储。 为了解决太阳能、风能和潮汐能等间歇性和非周期性电源的普及问题,实用并且廉价的电力储存技术一直是重要的环节。MIT的研究人员最…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...
保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
