背景介绍
自然语言处理、计算机视觉和图像处理的算法具有直观的实用性。作为算法研发人员,将自己的算法部署到网页端的UI接口供大家使用是一件很妙的事。但这个过程需要学习庞杂的前后端知识(HTML、CSS、JavaScript
)而且需要购买域名,技术复杂且不免费。最近人们陆续开发出剥离前后端知识的应用部署方案,以dash
、streamlit
和gradio
为代表的这里我将介绍一种简单且免费的方案供大家参考。
gradio
gradio
是一个Python
包,使用Gradio
可以通过少量的几行Python
代码就能自动化生成交互式web页面,并支持多种输入输出格式,图像加载/显示框、文本框、各类按钮等常见控件。同时,还支持生成能外部网络访问的链接,能够迅速让非技术人员体验你的算法。
- 安装命令
pip install gradio
gradio
布局组件介绍和使用教程 blog.csdn.net/weixin_4653…
Gradio生成在线应用
demo = gr.Interface(fn=greet, inputs="text", outputs="text")
demo.launch(share=True)
demo.launch()可以生成一个本地链接(local url
)http://127.0.0.1:7860/
如果假如参数share = True
则可以生成一个公共链接(public url
)7880c007e544b12cfb.gradio.live/
但是
This share link expires in 72 hours. For free permanent hosting and GPU upgrades, run gradio deploy
from Terminal to deploy to Spaces (huggingface.co/spaces)
此共享链接将在 72
小时后失效。如需永久免费托管和 GPU
升级,请从终端运行 gradio deploy
以部署到 Spaces
HuggingFace 部署
-
注册账号 注册一个
HuggingFace
的账号 -
创建新的项目空间 点击左上角的头像,然后点击 “
+New Space
” 创建一个新的项目空间 -
填写相关信息 给
Space
取一个名字,然后在Select the Space SDK
里面,选择第二个Gradio
。硬件选择免费的服务器,项目选择public
。每个项目空间免费配备8个CPU核和16GB 运行内存(
CPU basic ·2 vCPU · 16 GB · FREE
),而GPU资源需要单独付费。 -
创建成功后,跳转界面
开始你的项目
- Start by cloning this repo by using:
git clone https://huggingface.co/spaces/aimaswx/demo
- Create your Gradio
app.py
file:
import gradio as gr
def greet(name):
return "Hello " + name + "!!"
iface = gr.Interface(fn=greet, inputs="text", outputs="text")
iface.launch()
- Then commit and push:
git add app.py
git commit -m "Add application file"
git push
(Hint
: Create the app.py file right in your browser alternatively)
(提示:也可直接在浏览器中创建 app.py
文件)
UI构建文件必须得命名成app.py且位于根目录
- 🤗 Your app should be running on this page after a few moments !
🤗 几分钟后,您的应用程序就会在此页面上运行!
- 依赖
Dependencies
您可以在版本库根目录下添加 requirements.txt
文件,以指定 Python
依赖项。
如果需要,也可以在版本库根目录下添加 packages.txt
文件,指定 Debian
依赖项。
gradio
软件包已预装,其版本在 README.md
文件的 sdk_version
字段中设置。
成果展示
一个简单的hello
应用