返回顶部
首页 > 资讯 > 后端开发 > Python >Python之Gradio简单使用
  • 458
分享到

Python之Gradio简单使用

pythonGradio 2023-08-31 08:08:59 458人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录 安装Gradio示例用法应用界面1. gr.Interface2. gr.Blocks Gradio的输入和输出组件输入组件(Inputs)输出组件(Outputs) 其

目录

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

安装Gradio

pip install gradio

示例用法

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

import gradio as grdef 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/会显示登录界面。
在这里插入图片描述
输入账号密码后的界面:
在这里插入图片描述

应用界面

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

1. gr.Interface

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

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

import gradio as grdef image_classifier(inp):    return {'cat': 0.3, 'dog': 0.7}demo = gr.Interface(fn=image_classifier, inputs="image", outputs="label")demo.launch()

运行界面:
在这里插入图片描述
在实例中,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 grdef 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()

运行界面:
在这里插入图片描述
在这个示例中,使用了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. JSONjsON数据):显示格式化的JSON数据。
  6. Audio(音频):播放音频输出。
  7. File(文件下载):提供输出文件的下载链接。

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

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

其他

Gradio官网:https://www.gradio.app/
Gradio官方文档:https://www.gradio.app/docs/


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

来源地址:https://blog.csdn.net/qq233325332/article/details/131080164

--结束END--

本文标题: Python之Gradio简单使用

本文链接: https://lsjlt.com/news/384655.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python之Gradio简单使用
    目录 安装Gradio示例用法应用界面1. gr.Interface2. gr.Blocks Gradio的输入和输出组件输入组件(Inputs)输出组件(Outputs) 其...
    99+
    2023-08-31
    python Gradio
  • python爬虫之pyppeteer库简单使用
    pyppeteer 介绍Pyppeteer之前先说一下Puppeteer,Puppeteer是谷歌出品的一款基于Node.js开发的一款工具,主要是用来操纵Chrome浏览器的 AP...
    99+
    2024-04-02
  • 如何使用python的gradio库
    这篇文章主要介绍了如何使用python的gradio库的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用python的gradio库文章都会有所收获,下面我们一起来看看吧。Gradio是一个功能丰富的Pyt...
    99+
    2023-07-06
  • Python Tkinter 简单使用
    简单的一些实例,能够实现一般的功能就够用了 Tkinter: 创建顶层窗口: # -*- coding: utf-8 -*- from Tkinter import *   root = Tk() root.title("顶层窗口") ...
    99+
    2023-01-30
    简单 Python Tkinter
  • python datetime简单使用
    import datetime #当前时间print datetime.datetime.now()2018-06-13 16:22:42.414143 #当前时间减去七天print datetime.datetime.now() - da...
    99+
    2023-01-31
    简单 python datetime
  • Python简单使用InfluxDB
    之前已经在自己的MQTT服务器上安装好了InfluxDB时序数据库,接下来写个Python程序测试下. API详情参阅这里 打开powershell,执行pip install influxdb安装模块 程序API详细参考这...
    99+
    2023-01-31
    简单 Python InfluxDB
  • python logging简单使用
    #coding: UTF-8'''Created on 2014年1月6日@author: mingliu'''import logging#导入mylog = logging.getLogger('mylogger')#申请一个名字oth...
    99+
    2023-01-31
    简单 python logging
  • Android 之 ViewPager 的简单使用
    本节引言: 本节带来的是Android 3.0后引入的一个UI控件——ViewPager(视图滑动切换工具),实在想不到 如何来称呼这个控件,他的大概功能:通过手势滑动可以完成View的切换,一般是用来做APP 的引导页或者实现图片轮播...
    99+
    2023-09-13
    android 动画
  • python之virtualenv的简单使用方法(必看篇)
    什么是virtualenv? virtualenv可以创建独立Python开发环境,比如当前的全局开发环境是python3.6,现在我们有一个项目需要使用django1.3,另一个项目需要使用django1...
    99+
    2022-06-04
    必看 使用方法 简单
  • 关于如何使用python的gradio库
    Gradio是一个功能丰富的Python库,可以让您轻松创建和共享自己的交互式机器学习和深度学习模型。 以下是Gradio库的一些主要功能: 创建交互式接口 Gradio库使得创建交...
    99+
    2023-05-17
    python python gradio
  • AndroidX Media3之ExoPlayer简单使用(1)
    ExoPlayer是谷歌开源的一个应用级的音视频播放器。它提供了 Android 的 MediaPlayer API 的替代方案,用于在本地和通过 Internet 播放音频和视频。ExoPlayer 支持 Android 的 MediaP...
    99+
    2023-08-16
    android 音视频 androidx
  • Python 之 SSH简单实例
    服务器端代码 #Author Kang import os import subprocess import socket server = socket.socket() server.bind(('localhost',9999))...
    99+
    2023-01-31
    实例 简单 Python
  • python学习-ansible简单使用
    一、介绍Ansible 一种集成 IT 系统的配置管理、应用部署、执行特定任务的开源平台,是 AnsibleWorks 公司名下的项目,该公司由 Cobbler 及 Func 的作者于 2012 年创建成立。Ansible 基于 Pytho...
    99+
    2023-01-31
    简单 python ansible
  • python使用sqlite简单介绍
    python连接sqlite非常简单,基本步骤如下: 用sqlite3.connect创建数据库连接,假设连接对象为conn 如果该数据库操作不需要返回结果,就直接用conn.execute查询,如建表、删表、添加、修改删除数据...
    99+
    2023-01-31
    简单 python sqlite
  • python的日志简单使用
    开始一个项目的时候总是匆匆的写了代码,但是有时候会发现一个问题,那就是经常会为一个很长时间才出现一次的bug感到很苦恼,如果没有及时捕捉的话,那还要浪费很多时间去重现,再纠正,还好python有比较方便的日志供使用,logging模块imp...
    99+
    2023-01-31
    简单 日志 python
  • Python:简单select模块使用
    select 多并发socket 例子 #!/usr/bin/env python #coding:utf-8 import select import socket import Queue listen_addr=('0...
    99+
    2023-01-31
    模块 简单 Python
  • Java基础之Thymeleaf的简单使用
    Java代码 package com.zzx.controller; import com.zzx.model.User; import org.springframework...
    99+
    2024-04-02
  • Android学习之Broadcast的简单使用
    本文实例为大家分享了Android学习之Broadcast的使用方法,供大家参考,具体内容如下实现开机启动提示网络的广播package com.example.luobo.broadcasttest;import android.conte...
    99+
    2023-05-30
    android broadcast roi
  • 基于OpenCV和Gradio实现简单的人脸识别详解
    目录环境配置实验原理程序设计1.上传图片2.人脸识别3.绘制方框4.保存预测结果5.最后运行gradio的lauch完整代码环境配置 gradio 安装 pip install gr...
    99+
    2023-05-14
    OpenCV Gradio实现人脸识别 OpenCV Gradio人脸识别 OpenCV Gradio
  • 基于OpenCV和Gradio怎么实现简单的人脸识别
    今天小编给大家分享一下基于OpenCV和Gradio怎么实现简单的人脸识别的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。环境...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作