公众号:【可乐前端】,每天3分钟学习一个优秀的开源项目,分享web面试与实战知识,也有全栈交流学习摸鱼群,期待您的关注!
每天3分钟开源
hi,这里是每天3分钟开源,很高兴又跟大家见面了,今天介绍的开源项目简介如下:
仓库名:
gradio-app/gradio
项目名:
gradio
开源地址:https://github.com/gradio-app/gradio
主要语言:
Python
stars数量:
27354
forks数量:
1997
开源协议:
Apache License 2.0
一句话介绍
Gradio 是一个开源的 Python 库,让你可以快速地为你的机器学习模型、API 或任意 Python 函数构建 demo 或 Web 应用。
详细描述
Gradio 是一个开源的 Python 库,让你可以快速地为你的机器学习模型、API 或任意 Python 函数构建 demo 或 Web 应用。
你可以用 Gradio 内建的分享功能在几秒钟内分享你的 demo 或 web 应用的链接。使用它,你不需要有任何 JavaScript、CSS 或 web 托管的经验。
只需要几行 Python 代码,你就能创建出像上图这样美观的 demo,让我们开始吧💫
具体功能
-
创建 Demo: 你可以在你喜欢的代码编辑器中运行 Gradio,如 Jupyter notebook,Google Colab,或者你写 Python 的任何地方。让我们来编写你的第一个 Gradio 应用:
import gradio as gr def greet(name, intensity): return "Hello " * intensity + name + "!" demo = gr.Interface(fn=greet, inputs=["text", "slider"], outputs=["text"]) demo.launch()
-
理解 Interface 类: 你可能已经注意到,为了制作你的第一个 demo,你创建了一个
gr.Interface
类的实例。Interface
类被设计用来为接受一个或多个输入、返回一个或多个输出的机器学习模型创建 demo。 -
分享你的 Demo: 如果你有一个美丽的 demo 但不能分享出去,那是多么遗憾的一件事!Gradio 让你可以轻易地分享一个机器学习 demo,而不用担心在 web 服务器上托管的麻烦。只需在
launch()
中设置share=True
,就会为你的 demo 创建一个公开可访问的 URL。import gradio as gr def greet(name): return "Hello " + name + "!" demo = gr.Interface(fn=greet, inputs="textbox", outputs="textbox") demo.launch(share=True) # 仅需一个额外参数即可分享你的 demo 🚀
-
Chatbots with gr.ChatInterface: Gradio 还包含另一个高级类,
gr.ChatInterface
,它专门用于创建 Chatbot UI。类似于 Interface,你提供一个函数,Gradio 创建一个完全工作的 Chatbot UI。 -
自定义 Demos with gr.Blocks: Gradio 还提供了一个低级方法,用
gr.Blocks
类设计具有更灵活布局和数据流的 web 应用。 Blocks 允许你做诸如控制组件在页面上出现的位置、处理复杂的数据流(例如,输出可以作为其他函数的输入)、以及基于用户交互更新组件的属性/可见性等操作 —— 仍然全部在 Python 中。
如何使用
Gradio 的使用非常简单,首先你需要在 Python 3.8 或更高版本的环境中安装 Gradio,推荐使用 pip
进行安装。在你的终端或命令提示符中运行以下命令:
pip install gradio
安装 Gradio 后,你可以在你喜欢的代码编辑器中,如 Jupyter notebook、Google Colab 或任何可以编写 Python 代码的地方运行 Gradio。下面是一个 Gradio 的简单示例:
import gradio as gr
def greet(name, intensity):
return "Hello " * intensity + name + "!"
demo = gr.Interface(fn=greet, inputs=["text", "slider"], outputs=["text"])
demo.launch()
在这个示例中,我们首先通过 import gradio as gr
导入 Gradio 库,然后定义一个函数 greet
,这个函数接受两个参数:name
和 intensity
,然后返回一个问候语。接下来,我们创建了一个 gr.Interface
的实例,它接受三个参数:fn
是我们要包装的函数,inputs
是输入的 Gradio 组件,outputs
是输出的 Gradio 组件。最后,我们通过调用 demo.launch()
来启动我们的 Gradio 应用。
如果你在本地开发,你可以在热重载模式下运行你的 Gradio 应用,这样当你对文件进行更改时,Gradio 应用会自动重新加载。要做到这一点,只需在文件名前输入 gradio
而不是 python
。在上面的示例中,你可以在你的终端中输入:gradio app.py
。你可以在 热重载指南 中了解更多关于热重载的信息。
使用 Gradio,你可以轻松地分享你的机器学习模型,而不需要任何 JavaScript、CSS 或 Web 托管的经验。只需在 launch()
中设置 share=True
,公开可访问的 URL 就会被创建出来,用于你的 demo。如下所示:
import gradio as gr
def greet(name):
return "Hello " + name + "!"
demo = gr.Interface(fn=greet, inputs="textbox", outputs="textbox")
demo.launch(share=True)
当你运行这段代码时,一个公开的 URL 会在几秒钟内为你的 demo 生成,比如:https://a23dsf231adb.gradio.live
。现在,世界各地的人都可以在他们的浏览器中尝试你的 Gradio demo,同时机器学习模型和所有的计算仍然在你的计算机上本地运行。
你可以在 分享你的 Gradio 应用 的指南中了解更多关于分享你的 demo 的信息。
结论
Gradio 是一个非常强大的工具,它使得创建和分享机器学习应用变得非常简单。无论你是一个 AI 研究者,希望向世界展示你的最新模型,还是一个 Python 开发者,希望快速地为你的函数或 API 创建一个漂亮的 web 界面,Gradio 都是一个非常好的选择。
最后
感谢您的阅读,这里每天都会推送优秀的开源项目,如果觉得有帮助的话,一键三连一下吧~