当前位置:   article > 正文

Python----Gradio_gradio版本

gradio版本

Gradio官文地址:

Gradio

快速上手:

1.准备Python 3.7或更高版本

2.安装gradio :

                pip install gradio

3.执行官方示例:

  1. import gradio as gr
  2. def greet(name):
  3. return "Hello " + name + "!!"
  4. iface = gr.Interface(fn=greet, inputs="text", outputs="text")
  5. iface.launch()

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

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

4.复杂示例:

a.快速部署机器视觉相关算法(人脸检测)
  1. import cv2
  2. import gradio as gr
  3. import uuid
  4. # 初始化OpenCV的人脸和眼睛检测分类器
  5. face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
  6. eye_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_eye.xml')
  7. def trun_gray(image):
  8. image = cv2.imread(image)
  9. gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
  10. # 检测人脸
  11. faces = face_cascade.detectMultiScale(gray, 1.1, 4)
  12. # 在人脸上画框
  13. for (x, y, w, h) in faces:
  14. cv2.rectangle(image, (x, y), (x+w, y+h), (255, 0, 0), 2)
  15. # 设置保存路径
  16. save_path = "./{}.png".format(str(uuid.uuid4()))
  17. # 保存图片
  18. cv2.imwrite(save_path, image)
  19. return save_path
  20. # 注意type有多种["numpy", "pil", "filepath"],没有指定时默认为numpy
  21. iface = gr.Interface(fn=trun_gray, inputs=gr.Image(type="filepath"), outputs=gr.Image(type="filepath"))
  22. iface.launch()

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

         

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

b.快速部署自然语言相关算法(提取句子中的人名)
  1. from ltp import LTP
  2. import gradio as gr
  3. # 初始化LTP模型,你可以下载模型并指定路径,或者让LTP自动下载
  4. ltp_model_dir = 'ltp_base1' # 替换为你的LTP模型路径
  5. ltp = LTP(ltp_model_dir)
  6. def trun_gray(sentence):
  7. sentence = sentence.strip()
  8. output = ltp.pipeline([sentence], tasks=["cws", "pos", "srl"])
  9. us_name = "、".join(list(set([i[0] for i in zip(output.cws[0], output.pos[0]) if i[1] in ["nh"]])))
  10. return us_name
  11. iface = gr.Interface(fn=trun_gray, inputs="text", outputs="text")
  12. iface.launch()

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

输入一段话并点击提交:

 

c.页面展示多个算法
  1. import gradio as gr
  2. import cv2
  3. import uuid
  4. from ltp import LTP
  5. ltp_model_dir = 'ltp_base1'
  6. ltp = LTP(ltp_model_dir)
  7. face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
  8. eye_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_eye.xml')
  9. def trun_gray(image):
  10. print(image)
  11. image = cv2.imread(image)
  12. image = cv2.resize(image, (640,480))
  13. save_path = "./{}.png".format(str(uuid.uuid4()))
  14. cv2.imwrite(save_path, image)
  15. gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
  16. return save_path
  17. def trun_nh(sentence):
  18. sentence = sentence.strip()
  19. output = ltp.pipeline([sentence], tasks=["cws", "pos", "srl"])
  20. us_name = "、".join(list(set([i[0] for i in zip(output.cws[0], output.pos[0]) if i[1] in ["nh"]])))
  21. return us_name
  22. with gr.Blocks() as demo:
  23. with gr.Tab(label="句子人名提取"):
  24. gr.Interface(fn=trun_nh, inputs="text", outputs="text")
  25. with gr.Tab(label="图像人脸检测"):
  26. gr.Interface(fn=trun_gray, inputs=gr.Image(type="filepath"), outputs=gr.Image(type="filepath"))
  27. demo.launch()

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

结束语

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/898091
推荐阅读
相关标签
  

闽ICP备14008679号