什么是Gradio?
Hugging Face发布的开源Python包,可以为机器学习模型,API或任意Python函数快速构建demo或web应用,并且通过Gradio的内置共享功能可以快速生成对应的链接,而无需任何变成基础。
核心定位:降低 AI 模型的展示与测试门槛,让技术人员(如算法工程师)快速将模型转化为可操作的界面,方便产品、测试人员或客户直观体验模型功能。
官方网站:https://www.gradio.app/guides/quickstart
使用流程
第一步:安装Gradio包,官方要求Python 3.10及以上
pip install --upgrade gradio
第二步:使用一个小case来演示可视化的操作界面
# 引包
import gradio as gr
# 实现一个反转文本的功能
def reverse_text(text):
return text[::-1]
# 界面配置
demo = gr.Interface(fn=reverse_text, inputs="text", outputs="text")
# 启动应用,launch()方法会创建一个本地Web服务器,在浏览器中打开交互式界面
# 让用户可以测试机器学习模型或应用程序的功能,通常在定义好输入输出组件和处理函数后调用此方法来部署应用。
demo.launch()
第三步:启动运行之后。在控制台能够看到一个ip地址:

第四步:通过浏览器访问,可视化界面如下:

demo 示例
案例一:输出多个不同类型的内容
# 引包
import gradio as gr
# 实现一个反转文本的功能
def reverse_and_count(text):
reversed_text = text[::-1];
length = len(text)
return reversed_text, length
# 界面配置
demo = gr.Interface(fn=reverse_and_count,
inputs="text",
outputs=["text", "number"], # 输出两个结果,一个文本,一个数字
title="文本反转和长度计算器",
)
demo.launch()
界面操作

案例二:图像转铅笔画
# 引包
import cv2
import gradio as gr
import numpy as np
# 实现一个反转文本的功能
def image_to_sketch(image):
gray_image = image.convert('L')
inverted_image = 255 - np.array(gray_image)
blurred_image = cv2.GaussianBlur(inverted_image, (21, 21), 0)
inverted_blurred = 255 - blurred_image
sketch = cv2.divide(np.array(gray_image), inverted_blurred, scale=256)
return sketch
# 界面配置
demo = gr.Interface(fn=image_to_sketch,
inputs=[gr.Image(label="上传图片", type="pil")],
outputs=[gr.Image(label="图片转素描图")],
title="图像转铅笔画",
)
demo.launch()
输出:


8255

被折叠的 条评论
为什么被折叠?



