未验证 提交 e4fe2ecd 编写于 作者: jm_12138's avatar jm_12138 提交者: GitHub

add gradio app (#2166)

上级 2f48efda
......@@ -150,6 +150,9 @@
print(r.json()["results"])
```
- ### gradio app 支持
从 PaddleHub 2.3.1 开始支持使用链接 http://127.0.0.1:8866/gradio/pyramidbox_lite_mobile 在浏览器中访问 pyramidbox_lite_mobile 的 Gradio APP。
## 五、更新历史
......@@ -165,6 +168,10 @@
修复无法导出推理模型的问题
* 1.4.0
添加 Gradio APP 支持
- ```shell
$ hub install pyramidbox_lite_mobile==1.3.0
$ hub install pyramidbox_lite_mobile==1.4.0
```
......@@ -149,6 +149,8 @@
print(r.json()["results"])
```
- ### Gradio APP support
Starting with PaddleHub 2.3.1, the Gradio APP for pyramidbox_lite_mobile is supported to be accessed in the browser using the link http://127.0.0.1:8866/gradio/pyramidbox_lite_mobile.
## V.Release Note
......@@ -163,7 +165,11 @@
* 1.3.0
Fix a bug of save_inference_model
* 1.4.0
Add Gradio APP support.
- ```shell
$ hub install pyramidbox_lite_mobile==1.3.0
$ hub install pyramidbox_lite_mobile==1.4.0
```
# coding=utf-8
import os
import time
from collections import OrderedDict
......
# coding=utf-8
from __future__ import absolute_import
from __future__ import division
......@@ -10,10 +9,10 @@ import numpy as np
import paddle
from paddle.inference import Config
from paddle.inference import create_predictor
from .data_feed import reader
from .processor import base64_to_cv2
from .processor import postprocess
from paddlehub.module.module import moduleinfo
from paddlehub.module.module import runnable
from paddlehub.module.module import serving
......@@ -24,10 +23,12 @@ from paddlehub.module.module import serving
author="baidu-vis",
author_email="",
summary="PyramidBox-Lite-Mobile is a high-performance face detection model.",
version="1.3.0")
version="1.4.0")
class PyramidBoxLiteMobile:
def __init__(self):
self.default_pretrained_model_path = os.path.join(self.directory, "pyramidbox_lite_mobile_face_detection", "model")
self.default_pretrained_model_path = os.path.join(self.directory, "pyramidbox_lite_mobile_face_detection",
"model")
self._set_config()
self.processor = self
......@@ -35,8 +36,8 @@ class PyramidBoxLiteMobile:
"""
predictor config setting
"""
model = self.default_pretrained_model_path+'.pdmodel'
params = self.default_pretrained_model_path+'.pdiparams'
model = self.default_pretrained_model_path + '.pdmodel'
params = self.default_pretrained_model_path + '.pdiparams'
cpu_config = Config(model, params)
cpu_config.disable_glog_info()
cpu_config.disable_gpu()
......@@ -188,3 +189,28 @@ class PyramidBoxLiteMobile:
type=ast.literal_eval,
default=0.6,
help="confidence threshold.")
def create_gradio_app(self):
import gradio as gr
import tempfile
import os
from PIL import Image
def inference(image, shrink, confs_threshold):
with tempfile.TemporaryDirectory() as temp_dir:
self.face_detection(paths=[image],
use_gpu=False,
visualization=True,
output_dir=temp_dir,
shrink=shrink,
confs_threshold=confs_threshold)
return Image.open(os.path.join(temp_dir, os.listdir(temp_dir)[0]))
interface = gr.Interface(inference, [
gr.inputs.Image(type="filepath"),
gr.Slider(0.0, 1.0, 0.5, step=0.01),
gr.Slider(0.0, 1.0, 0.6, step=0.01)
],
gr.outputs.Image(type="ndarray"),
title='pyramidbox_lite_mobile')
return interface
# coding=utf-8
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import base64
import os
import time
import base64
import cv2
import numpy as np
from PIL import Image
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册