Gradio机器学习模型快速部署工具quickstart前篇
作者:Livingbody 发布时间:2023-07-01 15:07:51
Gradio 是做什么的?
先决条件:Gradio 需要 Python 3.7 或更高版本,仅此而已!
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
渐变/你好世界 使用 Gradio构建。 托管在 空间
在本地开发时,如果您想将代码作为 Python 脚本运行,您可以使用 Gradio CLI 以重新加载模式启动应用程序,这将提供无缝和快速的开发。在自动重新加载指南中了解有关重新加载的更多信息。
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"
)
让我们仔细看看这些用于提供输入和输出的组件。
组件属性
gradio.app/quickstart/…
我们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()
多个输入和输出组件
gradio.app/quickstart/…
假设您有一个更复杂的函数,具有多个输入和输出。在下面的示例中,我们定义了一个函数,它接受一个字符串、布尔值和数字,并返回一个字符串和数字。看一下如何传递输入和输出组件列表。
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/
来源:https://juejin.cn/post/7217012056113741883


猜你喜欢
- 本文为大家分享了pygame游戏之旅的第8篇,供大家参考,具体内容如下定义一个计数函数:def things_dodged(count):
- 前言我们前面对matplotlib模块底层结构学习,对其pyplot类(脚本层)类提供的绘制折线图、柱状图、饼图、直方图等统计图表的相关方法
- 1. 数据筛选 a b c0 0 2 41 6 8 102 12 14 163 18 20 224 24 26 285 30 32 346
- 访问FTP,无非两件事情:upload和download,最近在项目中需要从ftp下载大量文件,然后我就试着去实验自己的ftp操作类,如下(
- 通常来说,Python的变量/数据类型非常多,但是它是不需要用户指定的,因为有些是根据部份系统函数生成,另外一些是自动根据变量的值识别的,这
- 这是一篇知识性的文档,主要目的是为了让Web缓存相关概念更容易被开发者理解并应用于实际的应用环境中。为了简要起见,某些实现方面的细节被简化或
- 文本的排版依据语言的不同会有一些格式上的要求,比如简体中文中类似逗号、分号等标点符号不会出现在一行的开头,对于英文来讲就是一个完整单词不会在
- GoLang之使goroutine停止的5种方法1.goroutine停止介绍goroutine是Go语言实现并发编程的利器,简单的一个指令
- 网页的布局也许是大家最不放在眼里的地方,其实布局地位如同文字的排版一样,随便可布,布即随便。但是看过我上篇《网页设计技巧系列 之 文本排版》
- 导语哈喽!大家好,我是木木子。今日游戏更新系列来啦,是不是很想知道今天的游戏是什么类型的?立马安排上——随着年纪的不断上升,我们开始丢三落四
- 1. 模块(Module)在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。为了编写可维护的代
- 本文实例讲述了python实现class对象转换成json字典的方法。分享给大家供大家参考,具体如下:# -*- encoding: UTF
- docker最近迷恋使用doker容器,在docker容器进行部署MySQL,以前针对容器的安全性一直存在怀疑的态度,不过如果能够通过容器也
- mysql之alter表的SQL语句集合,包括增加、修改、删除字段,重命名表,添加、删除主键等。1:删除列ALTER TABLE 【表名字】
- OpenCV介绍OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Ma
- 本文会介绍一些Python大神用的贼溜的技巧,让一探究竟吧!欢迎收藏学习,喜欢点赞支持,欢迎畅聊。整理字符串输入整理用户输入的问题在编程过程
- 本文实现的原理很简单,优化方法是用的梯度下降。后面有测试结果。先来看看实现的示例代码:# coding=utf-8from math imp
- 对于目前众多的验证码解决方案来说,这个API有着中国电信这个重量级的运营商为靠山,应该是比较靠谱的了,而且还是免费的。详细情况请参阅:htt
- 问题我使用python 2.7和xlwt模块进行excel导出我想设置我知道可以使用的单元格的背景颜色style1 = xlwt.easyx
- 一维列表的初始化:初始一个长度为5的列表方式1:a = [0]*5# [0, 0, 0, 0, 0]方式2:a = [0 for _ in