Python----Gradio

Gradio官文地址:

Gradio

快速上手:

1.准备Python 3.7或更高版本

2.安装gradio :

                pip install gradio

3.执行官方示例:

import gradio as gr

def greet(name):
    return "Hello " + name + "!!"

iface = gr.Interface(fn=greet, inputs="text", outputs="text")
iface.launch()

执行以上代码后有以下输出:

 在浏览器中输入以上地址会有以下界面:

4.复杂示例:

a.快速部署机器视觉相关算法(人脸检测)
import cv2
import gradio as gr
import uuid


# 初始化OpenCV的人脸和眼睛检测分类器
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_eye.xml')


def trun_gray(image):
    image = cv2.imread(image)
    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    # 检测人脸
    faces = face_cascade.detectMultiScale(gray, 1.1, 4)
    # 在人脸上画框
    for (x, y, w, h) in faces:
        cv2.rectangle(image, (x, y), (x+w, y+h), (255, 0, 0), 2)
    # 设置保存路径
    save_path = "./{}.png".format(str(uuid.uuid4()))
    # 保存图片
    cv2.imwrite(save_path, image)
    return save_path

# 注意type有多种["numpy", "pil", "filepath"],没有指定时默认为numpy
iface = gr.Interface(fn=trun_gray, inputs=gr.Image(type="filepath"), outputs=gr.Image(type="filepath"))
iface.launch()

执行后打开其输出连接,如图所示:

         

上传一张图片并点击提交:

b.快速部署自然语言相关算法(提取句子中的人名)
from ltp import LTP  
import gradio as gr
  
# 初始化LTP模型,你可以下载模型并指定路径,或者让LTP自动下载  
ltp_model_dir = 'ltp_base1'  # 替换为你的LTP模型路径  
ltp = LTP(ltp_model_dir)  

def trun_gray(sentence):
    sentence = sentence.strip()
    output = ltp.pipeline([sentence], tasks=["cws", "pos", "srl"])
    us_name = "、".join(list(set([i[0] for i in zip(output.cws[0], output.pos[0]) if i[1] in ["nh"]])))
    return us_name

iface = gr.Interface(fn=trun_gray, inputs="text", outputs="text")
iface.launch()

执行后打开其输出连接,如图所示:

输入一段话并点击提交:

 

c.页面展示多个算法
import gradio as gr
import cv2
import uuid

from ltp import LTP  
ltp_model_dir = 'ltp_base1' 
ltp = LTP(ltp_model_dir)

face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_eye.xml')

def trun_gray(image):
    print(image)
    image = cv2.imread(image)
    image = cv2.resize(image, (640,480))
    save_path = "./{}.png".format(str(uuid.uuid4()))
    cv2.imwrite(save_path, image)
    gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
    return save_path

def trun_nh(sentence):
    sentence = sentence.strip()
    output = ltp.pipeline([sentence], tasks=["cws", "pos", "srl"])
    us_name = "、".join(list(set([i[0] for i in zip(output.cws[0], output.pos[0]) if i[1] in ["nh"]])))
    return us_name

with gr.Blocks() as demo:
    with gr.Tab(label="句子人名提取"):
        gr.Interface(fn=trun_nh, inputs="text", outputs="text")
    with gr.Tab(label="图像人脸检测"):
        gr.Interface(fn=trun_gray, inputs=gr.Image(type="filepath"), outputs=gr.Image(type="filepath"))
demo.launch()

执行后打开其输出连接,如图所示:

结束语

        Gradio是一个开源的Python库,主要用于快速构建机器学习和数据科学演示的应用。通过Gradio,用户可以轻松地为模型创建一个可视化的、易于使用的Web界面,无需编写任何Web前端代码。它支持多种不同类型的输入(如文本、图像、音频等)和输出(如文本、图像、HTML等),并允许用户在Python脚本中直接定义这些输入/输出和处理函数之间的关系。以上仅为简单使用,如需获取更多关于Gradio的详细信息和使用方法,建议访问其官方文档或GitHub仓库进行查阅。

  • 17
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值