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

add gradio app (#2165)

上级 c68b6d5d
......@@ -150,6 +150,10 @@
print(r.json()["results"])
```
- ### gradio app 支持
从 PaddleHub 2.3.1 开始支持使用链接 http://127.0.0.1:8866/gradio/pyramidbox_lite_server 在浏览器中访问 pyramidbox_lite_server 的 Gradio APP。
## 五、更新历史
......@@ -169,6 +173,10 @@
修复无法导出推理模型的问题
* 1.4.0
添加 Gradio APP 支持
- ```shell
$ hub install pyramidbox_lite_server==1.3.0
$ hub install pyramidbox_lite_server==1.4.0
```
......@@ -150,6 +150,8 @@
print(r.json()["results"])
```
- ### Gradio APP support
Starting with PaddleHub 2.3.1, the Gradio APP for pyramidbox_lite_server is supported to be accessed in the browser using the link http://127.0.0.1:8866/gradio/pyramidbox_lite_server.
## V.Release Note
......@@ -169,6 +171,10 @@
Fix a bug of save_inference_model
* 1.4.0
Add Gradio APP support.
- ```shell
$ hub install pyramidbox_lite_server==1.3.0
$ hub install pyramidbox_lite_server==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
......@@ -7,13 +6,12 @@ import ast
import os
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 +22,12 @@ from paddlehub.module.module import serving
author="baidu-vis",
author_email="",
summary="PyramidBox-Lite-Server is a high-performance face detection model.",
version="1.3.0")
version="1.4.0")
class PyramidBoxLiteServer:
def __init__(self):
self.default_pretrained_model_path = os.path.join(self.directory, "pyramidbox_lite_server_face_detection", "model")
self.default_pretrained_model_path = os.path.join(self.directory, "pyramidbox_lite_server_face_detection",
"model")
self._set_config()
self.processor = self
......@@ -35,8 +35,8 @@ class PyramidBoxLiteServer:
"""
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 +188,28 @@ class PyramidBoxLiteServer:
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_server')
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.
先完成此消息的编辑!
想要评论请 注册