一、项目前提
该项目默认已训练好一个目标检测模型,希望快速制作一个Demo进行体验。项目使用COCO通用物体检测模型,包括以下物品:
二、环境配置
由于项目使用的是飞桨BML Codelab新Notebook框架,所以我们只需要在左边工具栏中点击PaddleDatection进行下载。
下载好之后,取.pdparams文件
1.安装依赖
%cd PaddleDetection
# 安装依赖
!pip install -r requirements.txt --user
!python setup.py install --user
2.部署模型
# 导出部署模型
# 指定训练配置文件
# 指定训练好的模型文件
!python tools/export_model.py \
-c configs/ppyoloe/ppyoloe_plus_crn_l_80e_coco.yml \
-o weights=../ppyoloe_plus_crn_l_80e_coco.pdparams
3.FastDeploy验证
3.1 配置环境
# 安装相关包
!pip install numpy opencv-python fastdeploy-python -f https://www.paddlepaddle.org.cn/whl/fastdeploy.html --user
3.2验证部署
# 验证部署是否正确
import cv2
import fastdeploy.vision as vision
model = vision.detection.PPYOLOE("/home/aistudio/PaddleDetection/output_inference/ppyoloe_plus_crn_l_80e_coco/model.pdmodel",
"/home/aistudio/PaddleDetection/output_inference/ppyoloe_plus_crn_l_80e_coco/model.pdiparams",
"/home/aistudio/PaddleDetection/output_inference/ppyoloe_plus_crn_l_80e_coco/infer_cfg.yml",
)
im = cv2.imread("/home/aistudio/mm.jpg")
result = model.predict(im)
vis_im = vision.vis_detection(im, result, score_threshold=0.5)
cv2.imwrite("/home/aistudio/work/result.png", vis_im)
三、准备launch文件夹
launch文件夹下应包含以下内容
>>cd ./launch/
├── demo.gradio.py
├── output_inference
│ ├── infer_cfg.yml
│ ├── model.pdiparams
│ ├── model.pdiparams.info
│ ├── model.pdmodel
├── example.jpg
├── requirements.txt
1.Gradio文件
# 导入包
import gradio as gr
import cv2
import fastdeploy
import fastdeploy.vision as vision
# 准备model
model = vision.detection.PPYOLOE("/home/aistudio/launch/output_inference/model.pdmodel",
"/home/aistudio/launch/output_inference/model.pdiparams",
"/home/aistudio/launch/output_inference/infer_cfg.yml" )
# 图生图,输入为“image”,输出为“image”
def infer(image):
result = model.predict(image)
vis_im = vision.vis_detection(image, result,score_threshold=0.4)
return vis_im
demo = gr.Interface(fn=infer, title="COCO数据集物体检测", inputs=gr.Image(), outputs="image",examples=["./test.jpg"], cache_examples=True, allow_flagging='never')
demo.launch()
四、Demo体验
体验地址:coco数据集物体检测_AI应用-飞桨AI Studio星河社区 (baidu.com)
五、附录
Gradio上线!手把手教你搭建在线AI应用:以视频字幕提取为例
项目地址:【Gradio】基于FastDeploy部署通用物体检测模型 - 飞桨AI Studio星河社区 (baidu.com)