Gradio是一个用于快速创建图形用户界面(GUI)的Python库,用于机器学习和深度学习模型的部署。
它的主要功能有:
- 支持多种UI组件:文本输入、数字输入、图像输入、摄像头输入、选择输入等
- 支持实时响应和网络推理
- 自动生成UI组件,无需编写HTML或CSS
- 能够导出为Web应用、pc端应用和移动端应用
要使用gradio,首先需要安装:
pip install gradio
然后可以这样定义一个简单的UI:
#python
import gradio as gr
def add(x, y):
return x + y
gr.Interface(fn=add,
inputs=[gr.inputs.Number(label="x"), gr.inputs.Number(label="y")],
outputs=gr.inputs.Number(label="sum")).launch()
这个UI有两个数字输入框输入x和y,当点击运行按钮后,会调用add函数,计算x + y,并在outputs框中显示结果sum。运行结果如下:
下面介绍gradio的主要参数:
- fn: 要部署的函数。输入类型可以是function、tensorflow模型、pytorch模型等。
- inputs: 模型的输入参数类型。支持 gr.inputs.Text(文字)、gr.inputs.Number(数字)、gr.inputs.Image(图像)、gr.inputs.Camera(相机)等类型。
- outputs: 模型的输出参数类型,默认“label”。支持"sum"(总和)、"label"(标签)、gr.outputs.Image(图像)等。
- examples: 用于在界面右侧显示示例,默认为空。
- allow_flagging:是否允许用户报告不适当内容,默认为True。
- allow_screenshot: 是否允许用户截屏,默认为True。
- show_input: 是否在界面中显示输入数据,默认为True。
- show_output: 是否在界面中显示输出结果,默认为True。
- live: 是否实时推理,默认为False,即点击Run按钮后才进行推理。
- cache_examples: 是否缓存示例,默认为False。
- adversarial: 是否添加额外的输入框,默认为False。
- title: 界面的标题,默认为空。
- description: 在界面上方显示的描述信息,默认为空。
- article: 相关说明文档,默认为空。
- css: 自定义css样式。
- server_port: 服务启动端口,默认7860。
- server_name: 服务IP,默认为127.0.0.1。
等等。更详细的API文档可以参考Gradio的官方文档。