Gradio从入门到精通(1)---快速入门

LinfineEdu 2024-09-01 16:33:01 阅读 82

文章目录

前言一、快速入门二、热加载三、接口类介绍总结


前言

Gradio 是一个开源 Python 包,允许您为机器学习模型、API 或任何任意 Python 函数快速构建演示或 Web 应用程序。然后,您可以使用 Gradio 的内置共享功能在几秒钟内共享指向演示或 Web 应用程序的链接。无需 JavaScript、CSS 或 Web 托管经验!

Gradio最大的特点就是简单,便捷,短短几行代码就可以快速构建大模型web应用程序;当前很多人工智能模型的演示都是使用Gradio打造的;


一、快速入门

**先决条件:**Gradio 需要 Python 3.8 或更高版本,Gradio是Python的一个库,所以无论你是windows/linux/macos,安装了Python后,接下来的操作都是相似的;

安装Gradio非常简单,只需使用以下命令:

<code>pip install gradio

#为了更快安装,可以使用清华镜像源

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple gradio

您当然也可以在您喜欢的代码编辑器、Jupyter 笔记本、Google Colab 或您编写 Python 的任何其他位置运行 Gradio。让我们编写您的第一个 Gradio 应用程序。

第一个程序就是用官方的示例吧,我给加一些注释

import gradio as gr #导入gradio库,简写成gr

#我们将导入的名称从 缩短为 为了提高代码的可读性。这是一个被广泛采用的约定,你应该遵循它,以便任何使用你的代码的人都能轻松理解它

#这是定一个的第一个处理函数

def greet(name, intensity):

return "Hello, " + name + "!" * int(intensity)

#这里是最常用的Interface类

demo = gr.Interface(

fn=greet, #处理函数

inputs=["text", "slider"], #输入

outputs=["text"], #输出

)

demo.launch()

上面的代码就构建了一个简单的web应用,我们来看下效果吧;运行代码,如果您在名为app.py的文件中编写了 Python 代码,那么您将从终端运行python app.py;

演示页面将在 http://localhost:7860 上的浏览器中打开,如果从文件运行。如果您在Jupyter 中运行,则演示将嵌入在Jupyter 笔记本中。

在这里插入图片描述

到这里你的第一个应用就完成了,接下来介绍下热加载这个概念;

二、热加载

当您构建 Gradio 演示时,尤其是在 Blocks 之外,您可能会发现不断重新运行代码以测试更改很麻烦。

为了更快、更方便地编写代码,当您在 Python IDE(如 VS Code、Sublime Text、PyCharm 等)中进行开发或通常从终端运行 Python 代码时,我们可以更轻松地立即“重新加载”您的 Gradio 应用程序。我们还开发了一个类似的“魔术命令”,如果您使用 Jupyter Notebooks(或任何类似的环境,如 Colab),它可以更快地重新运行单元格。

所谓热加载就是web页面实时显示你的修改,而不是一遍一遍的去运行python xxx.py;怎么做呢

只需要改成

<code>gradio xxx.py #例如刚才我们的app.py 则运行gradio app.py

你会看到终端显示如下内容

Watching: '/Users/freddy/sources/gradio/gradio', '/Users/freddy/sources/gradio/demo/'

Running on local URL: http://127.0.0.1:7860

这种情况下,如果文件发生更改后,并保存,它将自动为您重新运行文件。因此,您可以专注于编写代码,并且您的 Gradio 演示将自动刷新Watching…app.py

热加载简单的了解下就可以了

三、接口类介绍

您会注意到,为了制作第一个演示,您创建了该类的实例。该类旨在为机器学习模型创建演示,这些模型接受一个或多个输入,并返回一个或多个输出。gr.Interface,这个类会一直被你是用,所以要对他很熟悉;

该类有三个核心参数:Interface

fn:将用户界面 (UI) 包裹起来的函数

inputs:用于输入的 Gradio 组件。组件数应与函数中的参数数匹配。

outputs:用于输出的 Gradio 组件。组件数应与函数的返回值数匹配。

该参数非常灵活 – 您可以传递任何要用 UI 包装的 Python 函数。在上面的例子中,我们看到了一个相对简单的函数,但该函数可以是任何东西,从音乐生成器到税收计算器,再到预训练机器学习模型的预测函数。

下图,显示了我们的预处理将发送到函数的内容以及我们的后处理过程

在这里插入图片描述

总结

本章简单介绍了Gradio的使用,旨在帮助小伙伴们快速入门,体验下Gradio搭建web应用的快捷与简单;下面我们继续学习Gradio的应用吧!



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。