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的研究人员最…...
基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...
Axure 下拉框联动
实现选省、选完省之后选对应省份下的市区...
高考志愿填报管理系统---开发介绍
高考志愿填报管理系统是一款专为教育机构、学校和教师设计的学生信息管理和志愿填报辅助平台。系统基于Django框架开发,采用现代化的Web技术,为教育工作者提供高效、安全、便捷的学生管理解决方案。 ## 📋 系统概述 ### 🎯 系统定…...
uni-app学习笔记三十五--扩展组件的安装和使用
由于内置组件不能满足日常开发需要,uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件,需要安装才能使用。 一、安装扩展插件 安装方法: 1.访问uniapp官方文档组件部分:组件使用的入门教程 | uni-app官网 点击左侧…...
数据结构:泰勒展开式:霍纳法则(Horner‘s Rule)
目录 🔍 若用递归计算每一项,会发生什么? Horners Rule(霍纳法则) 第一步:我们从最原始的泰勒公式出发 第二步:从形式上重新观察展开式 🌟 第三步:引出霍纳法则&…...
无需布线的革命:电力载波技术赋能楼宇自控系统-亚川科技
无需布线的革命:电力载波技术赋能楼宇自控系统 在楼宇自动化领域,传统控制系统依赖复杂的专用通信线路,不仅施工成本高昂,后期维护和扩展也极为不便。电力载波技术(PLC)的突破性应用,彻底改变了…...
自定义线程池1.2
自定义线程池 1.2 1. 简介 上次我们实现了 1.1 版本,将线程池中的线程数量交给使用者决定,并且将线程的创建延迟到任务提交的时候,在本文中我们将对这个版本进行如下的优化: 在新建线程时交给线程一个任务。让线程在某种情况下…...
