Python之Gradio简单使用

这篇具有很好参考价值的文章主要介绍了Python之Gradio简单使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Gradio是一个Python库,用于构建快速的Web界面,以便于使用机器学习模型进行实时演示和交互。使用Gradio,您可以轻松地将机器学习模型封装为交互式应用程序,无需编写任何前端代码。

安装Gradio

pip install gradio

示例用法

使用Gradio创建了一个简单的应用程序,将输入文本进行反转并返回结果。在启动应用程序时,您还添加了共享选项和身份验证。

import gradio as gr
def reverse(text):
    return text[::-1]
demo = gr.Interface(reverse, "text", "text")
demo.launch(share=True, auth=("username", "password"))

在这个示例中,reverse函数接受一个文本输入并返回反转后的文本。然后,您使用gr.Interface类创建了一个接口对象demo,指定输入类型为"text"(文本输入)和输出类型为"text"(文本输出),并将reverse函数作为处理函数传递给gr.Interface

最后,使用demo.launch()方法来启动Gradio应用程序。您还传递了share=True参数,允许其他人通过生成的URL来访问您的应用程序,并且添加了身份验证信息auth=("username", "password")来限制访问权限。

运行该代码后,您将在命令行中看到一个本地的URL地址,类似于http://127.0.0.1:7860/。将此URL复制到浏览器中,您将能够访问该应用程序,并在输入框中输入文本,看到反转后的结果。

运行界面:
访问http://127.0.0.1:7860/会显示登录界面。
Python之Gradio简单使用
输入账号密码后的界面:
Python之Gradio简单使用

应用界面

Gradio提供了两种主要的组件来创建交互式界面:gr.Interfacegr.Blocks。它们都可以用于构建Web界面,但在功能和使用方式上有所不同。

1. gr.Interface

是Gradio的主要接口类,用于创建简单而强大的交互式应用程序。它使您能够定义输入和输出的类型,并使用处理函数来处理输入并生成输出。您可以指定不同的输入和输出类型,包括文本、图像、音频、视频等。

代码实例:
这段代码使用Gradio创建了一个简单的图像分类器应用程序。它接受一张图像作为输入,并返回一个包含分类结果的字典。

import gradio as gr

def image_classifier(inp):
    return {'cat': 0.3, 'dog': 0.7}

demo = gr.Interface(fn=image_classifier, inputs="image", outputs="label")
demo.launch()

运行界面:
Python之Gradio简单使用
在实例中,image_classifier函数是处理函数,它接受一个图像输入并返回一个包含分类结果的字典。在这个示例中,为了简化,我们返回了一个固定的结果字典 {'cat': 0.3, 'dog': 0.7},其中表示该图像有 30% 的概率是猫,70% 的概率是狗。

使用gr.Interface类创建了一个接口对象 demo,指定输入类型为 “image”(图像输入)和输出类型为 “label”(标签输出)。在这个示例中,我们只使用了默认的图像和标签组件,因此不需要显示地定义输入和输出界面。

最后,使用 demo.launch() 方法启动Gradio应用程序,并在本地的 Web 服务器上运行它。

运行该代码后,您将在命令行中看到一个本地的 URL 地址,类似于 http://127.0.0.1:7860/。将此 URL 复制到浏览器中,您将能够访问该应用程序,并上传图像进行分类。

请注意,为了使图像分类器真正有效,您需要将 image_classifier 函数实现为一个真实的模型,该模型将根据输入图像进行实际的分类预测。

2. gr.Blocks

是Gradio的另一个功能,它提供了一种可视化方式来组合和重用交互式组件。通过使用gr.Blocks,您可以创建复杂的界面布局,并将输入、输出和其他组件组合在一起。每个块都有自己的输入和输出,可以连接到其他块,以构建数据流和处理流程。

代码实例:
使用Gradio的gr.Blocks创建的交互式界面示例。它允许用户输入姓名,并在点击按钮后显示欢迎消息。

import gradio as gr
def update(name):
    return f"Welcome to Gradio, {name}!"

with gr.Blocks() as demo:
    gr.Markdown("Start typing below and then click **Run** to see the output.")
    with gr.Row():
        inp = gr.Textbox(placeholder="What is your name?")
        out = gr.Textbox()
    btn = gr.Button("Run")
    btn.click(fn=update, inputs=inp, outputs=out)

demo.launch()

运行界面:
Python之Gradio简单使用
在这个示例中,使用了gr.Blocks()上下文管理器来创建Gradio界面。然后,使用gr.Markdown组件添加了一个文本说明。

接下来,在gr.Row()中创建了一个输入文本框(gr.Textbox)和一个输出文本框(gr.Textbox)。输入文本框用于接收用户输入的姓名,输出文本框用于显示欢迎消息。

然后,使用gr.Button创建了一个按钮(btn),并使用btn.click()方法指定了按钮点击事件的处理函数为updateupdate函数接受用户输入的姓名,并返回欢迎消息。

最后,使用demo.launch()来启动Gradio应用程序,并在本地的Web服务器上运行它。

运行该代码后,您将在命令行中看到一个本地的URL地址,类似于http://127.0.0.1:7860/。将此URL复制到浏览器中,您将能够访问该应用程序,并在输入框中输入姓名,然后点击按钮来查看欢迎消息的输出。

gr.Interface适用于创建简单的交互式应用程序,而gr.Blocks则适用于创建更复杂的界面布局和数据流程。您可以根据自己的需求选择适合的方法。

Gradio的输入和输出组件

Gradio提供了多种输入和输出组件,您可以根据您的应用程序需求选择适当的组件类型。以下是Gradio常用的输入和输出组件:

输入组件(Inputs)
  1. Textbox(文本框):单行或多行文本输入框。
  2. Textarea(文本区域):多行文本输入框。
  3. Checkbox(复选框):单个或多个选项的复选框。
  4. Radio(单选框):单个选项的单选框。
  5. Dropdown(下拉菜单):选择一个选项的下拉菜单。
  6. Slider(滑块):滑动条,用于选择范围内的数值。
  7. Number(数字输入框):允许输入数字的文本框。
  8. File(文件上传):用于上传文件的组件。
输出组件(Outputs)
  1. Label(标签):显示文本标签。
  2. Textbox(文本框):显示输出文本的文本框。
  3. Image(图像):显示图像输出。
  4. KeyValues(键值对):显示键值对的列表。
  5. JSON(JSON数据):显示格式化的JSON数据。
  6. Audio(音频):播放音频输出。
  7. File(文件下载):提供输出文件的下载链接。

除了以上列出的常用组件,Gradio还提供了其他一些特殊用途的组件,如地图(Map)、视频(Video)等。

您可以根据您的应用程序需求选择适当的输入和输出组件,并使用它们来定义gr.Interfacegr.Blocks的输入和输出。

其他

Gradio官网:https://www.gradio.app/
Gradio官方文档:https://www.gradio.app/docs/文章来源地址https://www.toymoban.com/news/detail-474325.html


  • 📢博客主页:https://blog.csdn.net/qq233325332
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 陌北v1 原创,首发于 CSDN博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

到了这里,关于Python之Gradio简单使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python】使用pycharm结合gradio做一个web页面的demo

    紧接上文我们安装好了python3.10,现在需要下载它的开发工具pycharm,我们在这里不过多赘述具体细节,仅简要说明关键步骤,来通过gradio体验一下示例demo pycharm官网:https://www.jetbrains.com.cn/pycharm/ 然后再创建一个 app.py 的一个Python文件 我们需要把 Python解释器 设置为我们前面安

    2024年02月15日
    浏览(37)
  • 【AI模型部署】基于gradio和python的网页交互界面(web-ui)——简易使用方法

    使用gradio,只需在原有的代码中增加几行, 快速部署 机器学习模型,就能自动化生成 交互式web页面 ,并支持多种输入输出格式,比如图像分类中的图标签,超分辨率中的图图等。 同时还 支持生成能外部网络访问的链接 ,能够迅速让你的朋友,同事体验你的算法。 https://g

    2024年02月11日
    浏览(45)
  • 【Python小技巧】使用Gradio轻松部署AI算法结果可视化Web 应用(含图片转换、验证码识别完整源码)

    随着人工智能的不断发展,各种智能算法越来越普遍,但是这些算法结果通常显示在cmd命令窗口里。有没有一种方法可以动态展示,更具需要计算后动态展现? 答案是有! 下面让我了解一下Gradio库,只需寥寥几行代码就可以展现出chatGPT的对话窗口,是不是很nice! Gradio是一

    2024年02月15日
    浏览(45)
  • Python - Gradio 快速开始

    Python第三方库Gradio快速上手 Gradio官方首页 提前准备 :Python3.7足矣 pip安装 为了更快安装,可以使用清华镜像源。 执行以下代码 接口会自动出现在控制台,http://localhost:7860,浏览器打开即可看见如下页面。 根据代码不难看出,在NAME输入内容,Submit后,右侧显示’Hello XXX!!’

    2023年04月08日
    浏览(28)
  • Gradio 机器学习和数据科学开源 Python 库

            Gradio是一个开源的 Python 库,MIT的开源项目,用于构建机器学习和数据科学演示和 Web 应用。         Gradio的定位类似于Streamlit,但是更轻量,因为它推荐的应用场景都是对“单个函数”进行调用的应用,并且不需要对组件进行回调。比如下列场景(以下代码参

    2024年02月06日
    浏览(47)
  • [python] 基于Gradio可视化部署机器学习应用

    Gradio是一个开源的Python库,用于构建机器学习和数据科学演示应用。有了Gradio,你可以围绕你的机器学习模型或数据科学工作流程快速创建一个简单漂亮的用户界面。Gradio适用于以下情况: 为客户/合作者/用户/学生演示你的机器学习模型。 通过自动共享链接快速部署你的模

    2023年04月09日
    浏览(52)
  • 使用css美化gradio界面

    在默认的前端页面中使用检查工具确定要修改的部分的选择器名称,然后在block_css中对其修改,并在启动网页时传入参数: with gr.Blocks(css=block_css, theme=my_theme) as demo:

    2024年02月11日
    浏览(34)
  • 深度比较Python Streamlit和Gradio,谁是真正的利器?

    📚 个人网站:ipengtao.com 在构建交互式应用时,选择一个合适的库对于提高开发效率和用户体验至关重要。本文将深入探讨两个流行的Python库,Streamlit和Gradio,从特点、使用方法、定制化程度以及部署分享等方面进行详细对比,并通过丰富的示例代码帮助大家更好地理解它们

    2024年01月23日
    浏览(45)
  • 使用Gradio库创建交互式散点图

    ❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博相关......)👈 博主原文链接:https://www.yourmetaverse.cn/nlp/424/ (封面图由文心一格生成)

    2024年02月16日
    浏览(50)
  • 使用Gradio Interface构建交互式机器学习演示

    ❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博相关......)👈 博主原文链接:https://www.yourmetaverse.cn/nlp/231/ (封面图由文心一格生成) 在

    2024年02月09日
    浏览(82)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包