快速开始
先决条件:Gradio 需要 Python 3.7 或更高版本,仅此而已!
Gradio 是做什么的? gradio.app/quickstart/…
与他人分享您的机器学习模型、API 或数据科学工作流程的最佳方式_之一是创建一个交互式应用程序,让您的用户或同事可以在他们的浏览器中试用该演示。
Gradio 允许您**构建演示并共享它们,所有这些都在 Python 中。**通常只需几行代码!让我们开始吧。
Hello, World
要使用简单的“Hello, World”示例运行 Gradio,请执行以下三个步骤:
1.使用pip安装Gradio:
pip install gradio
2. 将以下代码作为 Python 脚本或在 Jupyter Notebook中运行:
import gradio as gr def greet(name): return "Hello " + name + "!" demo = gr.Interface(fn=greet, inputs="text", outputs="text") demo.launch()
3. 下面的演示将自动出现在 Jupyter Notebook 中,或者如果从脚本运行则在浏览器中弹出http://localhost:7860
在本地开发时,如果您想将代码作为 Python 脚本运行,您可以使用 Gradio CLI 以重新加载模式启动应用程序,这将提供无缝和快速的开发。在自动重新加载指南中了解有关重新加载的更多信息。
bash
复制代码
gradio app.py
注意:你也可以这样做python app.py
,但它不会提供自动重新加载机制。
类Interface
https://gradio.app/quickstart/#the-interface-class
您会注意到,为了制作演示,我们创建了一个gradio.Interface
. 此类Interface
可以使用用户界面包装任何 Python 函数。在上面的示例中,我们看到了一个简单的基于文本的函数,但该函数可以是任何东西,从音乐生成器到税收计算器再到预训练机器学习模型的预测函数。
核心Interface
类使用三个必需参数进行初始化:
fn
: 环绕 UI 的函数inputs
: 哪个组件用于输入(例如"text"
,"image"
或"audio"
)outputs
: 用于输出的组件(例如"text"
,"image"
或"label"
)
让我们仔细看看这些用于提供输入和输出的组件。
组件属性
我们Textbox
在前面的示例中看到了一些简单的组件,但是如果您想更改 UI 组件的外观或行为方式怎么办?
假设您想要自定义输入文本字段——例如,您希望它更大并且有一个文本占位符。如果我们使用实际的类Textbox
而不是使用字符串快捷方式,您可以通过组件属性访问更多的可定制性。
import gradio as gr def greet(name): return "Hello " + name + "!" demo = gr.Interface( fn=greet, # 改变外观 inputs=gr.Textbox(lines=2, placeholder="Name Here..."), outputs="text", ) demo.launch()
多个输入和输出组件
假设您有一个更复杂的函数,具有多个输入和输出。在下面的示例中,我们定义了一个函数,它接受一个字符串、布尔值和数字,并返回一个字符串和数字。看一下如何传递输入和输出组件列表。
import gradio as gr def greet(name, is_morning, temperature): salutation = "Good morning" if is_morning else "Good evening" greeting = f"{salutation} {name}. It is {temperature} degrees today" celsius = (temperature - 32) * 5 / 9 return greeting, round(celsius, 2) demo = gr.Interface( fn=greet, inputs=["text", "checkbox", gr.Slider(0, 100)], outputs=["text", "number"], ) demo.launch()
参考网址: gradio.app/quickstart/