【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: 滑块控件,允许用户在一个范围内选择数值。
相关推荐
仙魁XAN17 天前
Python 【图像分类】之 PyTorch 进行猫狗分类功能的实现(Swanlab训练可视化/ Gradio 实现猫狗分类 Demo)
pytorch·python·图像分类·gradio·swanlab
仙魁XAN23 天前
Python 【工具】 之 【Gradio】AI 模型展示工具的 安装、使用案例教程(一)
人工智能·python·机器学习·gradio·交互界面
小李飞刀李寻欢1 个月前
背景替换大模型图像处理gradio部署服务
图像处理·人工智能·图像·gradio·背景
lpcarl1 个月前
Ubuntu安装ollama,并运行ollama和通义千问,使用gradio做界面
ubuntu·gradio·ollama
萤火架构2 个月前
使用FastAPI整合Gradio和Django
django·fastapi·gradio
engchina2 个月前
Gradio DataFrame分页功能详解:从入门到实战
开发语言·python·gradio·分页处理
HuggingFace2 个月前
Gradio 5 稳定版正式发布
gradio
GuokLiu2 个月前
241006-Gradio中Chatbot通过CSS自适应调整高度
前端·css·gradio
Monee..3 个月前
【azure-openai】批量翻译demo【python】【gradio】
python·azure·gradio
hawk2014bj3 个月前
Gradio 自定义组件
gradio