【Gradio】1、Gradio 是什么

官网:https://www.gradio.app/

一、Gradio 是什么

Gradio是一个用于创建机器学习模型交互式界面的 Python 库。通过Gradio,可以快速地为模型构建一个可视化的、易于使用的Web界面,无需编写任何Web前端代码。

Gradio 支持多种不同类型的输入(如文本、图像、音频等)和输出(如文本、图像、HTML等),并且可以直接在 Python 脚本中定义这些输入/输出和处理函数之间的关系。这使得 Gradio 非常适合用来演示和测试各种AI/ML模型,或者用来收集用户反馈。

一旦创建了一个Gradio应用,并启动了它,它就会在本地启动一个Web服务器,并生成一个 URL。然后你就可以在浏览器中打开这个URL来与你的模型进行交互。同时,如果需要将应用公开到Internet上供他人使用,也可以通过ngrok等工具实现。

二、简单开始

安装 gradio:

python 复制代码
pip install  gradio -i https://pypi.tuna.tsinghua.edu.cn/simple

简单在 docker 中使用(我进行了端口映射,主机 5000 端口,映射到 docker 7860 端口)

python 复制代码
import gradio as gr
 
def greet(text):
    return "你输入的是:" + text + "!"
 
#输入接口组件,label:显示框的标签
input = gr.Text(label = "输入文字")
 
#输出接口组件,label:显示框的标签
output = gr.Text(label = "输出内容")
 
#fn设置处理函数
demo = gr.Interface(fn=greet, inputs=input, outputs=output)
demo.launch(server_name="0.0.0.0", server_port=7860) 

然后在浏览器输入:http://localhost:5000/

三、组件介绍

Gradio主要由三个组件构成:输入组件、输出组件和界面(Interface)。

  • 输入组件(Input Interfaces): 这些是用于接收用户输入的组件。Gradio提供了多种类型的输入接口,包括文本(Text),图像(Image),音频(Audio),绘图(Sketchpad)等等。你可以根据你的模型需要选择合适的输入接口。

  • 输出组件(Output Interfaces): 这些是用于展示模型输出结果的组件。Gradio也支持多种类型的输出接口,包括文本(Text),图像(Image),音频(Audio), 标签(Label), HTML, JSON等等。

  • 界面(Interface): 界面是将一个或多个输入和输出接口与处理函数连接起来,并启动Web服务器以便用户进行交互。创建一个新界面只需要调用gr.Interface()函数,并传入处理函数、所需输入接口和所需输出接口即可。

Gradio提供了多种输入和输出接口格式以满足不同类型的模型需求。以下是一些常用的接口:

  • gr.Text:用于处理文本输入或输出。
  • gr.Image:用于处理图像输入或输出。可以指定图像大小和颜色通道。
  • gr.Audio:用于处理音频输入或输出。可以指定采样率。
  • gr.Sketchpad: 一个绘图板,用户可以在上面进行绘制,通常与手写识别等任务配合使用。
  • gr.CheckboxGroup: 多选框组,允许用户选择多个选项。
  • gr.Radio: 单选按钮组,允许用户从多个选项中选择一个。
  • gr.Slider: 滑块控件,允许用户在一个范围内选择数值。
相关推荐
陌北v119 天前
gradio快速入门 — Interface状态
服务器·python·gradio
顽石九变1 个月前
【Python】使用Gradio作为机器学习web服务器
python·机器学习·gradio
政安晨1 个月前
政安晨【零基础玩转各类开源AI项目】解析开源:gradio:改进真实虚拟试穿的扩散模型
人工智能·深度学习·神经网络·机器学习·gradio
像风一样自由20201 个月前
使用gradio库实现Web应用,允许用户上传图像,并使用YOLOv8模型对图像进行目标检测。
python·yolo·gradio
蒋含竹1 个月前
Gradio 案例——将文本文件转为词云图
ai·word·可视化·cloud·gradio·wordcloud·webui
热爱生活的五柒2 个月前
Gradio 最快创建Web 界面部署到服务器并演示机器学习模型,本文提供教学案例以及部署方法,避免使用繁琐的django
python·django·flask·gradio·python web
jane_xing3 个月前
多个gradio服务实现负载均衡
运维·负载均衡·gradio
天天写点代码4 个月前
gradio部署视频输入输出示例,gradio网页输出视频nan,输出视频无法播放解决方法
javascript·图像处理·python·音视频·gradio
engchina4 个月前
Gradio Dataframe 学习笔记
笔记·学习·信息可视化·gradio·dataframe
GuokLiu5 个月前
240207-3步设置VSCode插件Inline-Bookmarks自定义颜色及名称
vscode·gradio