背景介绍
自然语言处理、计算机视觉和图像处理的算法具有直观的实用性。作为算法研发人员,将自己的算法部署到网页端的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.pyfile:
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应用