mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-12-24 13:28:13 +08:00
[feature][docs] update README.md and logo (#116)
* update (#21) * [feature][docs] add prebuilt windows python whl and cpp libs (#113) [feature][docs] add windows python whl and cpp libs * Add ernie ie task (#100) * Modify API Result Docs (#112) * first commit for yolov7 * pybind for yolov7 * CPP README.md * CPP README.md * modified yolov7.cc * README.md * python file modify * delete license in fastdeploy/ * repush the conflict part * README.md modified * README.md modified * file path modified * file path modified * file path modified * file path modified * file path modified * README modified * README modified * move some helpers to private * add examples for yolov7 * api.md modified * api.md modified * api.md modified * YOLOv7 * yolov7 release link * yolov7 release link * yolov7 release link * copyright * change some helpers to private * change variables to const and fix documents. * gitignore * Transfer some funtions to private member of class * Transfer some funtions to private member of class * Merge from develop (#9) * Fix compile problem in different python version (#26) * fix some usage problem in linux * Fix compile problem Co-authored-by: root <root@bjyz-sys-gpu-kongming3.bjyz.baidu.com> * Add PaddleDetetion/PPYOLOE model support (#22) * add ppdet/ppyoloe * Add demo code and documents * add convert processor to vision (#27) * update .gitignore * Added checking for cmake include dir * fixed missing trt_backend option bug when init from trt * remove un-need data layout and add pre-check for dtype * changed RGB2BRG to BGR2RGB in ppcls model * add model_zoo yolov6 c++/python demo * fixed CMakeLists.txt typos * update yolov6 cpp/README.md * add yolox c++/pybind and model_zoo demo * move some helpers to private * fixed CMakeLists.txt typos * add normalize with alpha and beta * add version notes for yolov5/yolov6/yolox * add copyright to yolov5.cc * revert normalize * fixed some bugs in yolox * fixed examples/CMakeLists.txt to avoid conflicts * add convert processor to vision * format examples/CMakeLists summary * Fix bug while the inference result is empty with YOLOv5 (#29) * Add multi-label function for yolov5 * Update README.md Update doc * Update fastdeploy_runtime.cc fix variable option.trt_max_shape wrong name * Update runtime_option.md Update resnet model dynamic shape setting name from images to x * Fix bug when inference result boxes are empty * Delete detection.py Co-authored-by: Jason <jiangjiajun@baidu.com> Co-authored-by: root <root@bjyz-sys-gpu-kongming3.bjyz.baidu.com> Co-authored-by: DefTruth <31974251+DefTruth@users.noreply.github.com> Co-authored-by: huangjianhui <852142024@qq.com> * first commit for yolor * for merge * Develop (#11) * Fix compile problem in different python version (#26) * fix some usage problem in linux * Fix compile problem Co-authored-by: root <root@bjyz-sys-gpu-kongming3.bjyz.baidu.com> * Add PaddleDetetion/PPYOLOE model support (#22) * add ppdet/ppyoloe * Add demo code and documents * add convert processor to vision (#27) * update .gitignore * Added checking for cmake include dir * fixed missing trt_backend option bug when init from trt * remove un-need data layout and add pre-check for dtype * changed RGB2BRG to BGR2RGB in ppcls model * add model_zoo yolov6 c++/python demo * fixed CMakeLists.txt typos * update yolov6 cpp/README.md * add yolox c++/pybind and model_zoo demo * move some helpers to private * fixed CMakeLists.txt typos * add normalize with alpha and beta * add version notes for yolov5/yolov6/yolox * add copyright to yolov5.cc * revert normalize * fixed some bugs in yolox * fixed examples/CMakeLists.txt to avoid conflicts * add convert processor to vision * format examples/CMakeLists summary * Fix bug while the inference result is empty with YOLOv5 (#29) * Add multi-label function for yolov5 * Update README.md Update doc * Update fastdeploy_runtime.cc fix variable option.trt_max_shape wrong name * Update runtime_option.md Update resnet model dynamic shape setting name from images to x * Fix bug when inference result boxes are empty * Delete detection.py Co-authored-by: Jason <jiangjiajun@baidu.com> Co-authored-by: root <root@bjyz-sys-gpu-kongming3.bjyz.baidu.com> Co-authored-by: DefTruth <31974251+DefTruth@users.noreply.github.com> Co-authored-by: huangjianhui <852142024@qq.com> * Yolor (#16) * Develop (#11) (#12) * Fix compile problem in different python version (#26) * fix some usage problem in linux * Fix compile problem Co-authored-by: root <root@bjyz-sys-gpu-kongming3.bjyz.baidu.com> * Add PaddleDetetion/PPYOLOE model support (#22) * add ppdet/ppyoloe * Add demo code and documents * add convert processor to vision (#27) * update .gitignore * Added checking for cmake include dir * fixed missing trt_backend option bug when init from trt * remove un-need data layout and add pre-check for dtype * changed RGB2BRG to BGR2RGB in ppcls model * add model_zoo yolov6 c++/python demo * fixed CMakeLists.txt typos * update yolov6 cpp/README.md * add yolox c++/pybind and model_zoo demo * move some helpers to private * fixed CMakeLists.txt typos * add normalize with alpha and beta * add version notes for yolov5/yolov6/yolox * add copyright to yolov5.cc * revert normalize * fixed some bugs in yolox * fixed examples/CMakeLists.txt to avoid conflicts * add convert processor to vision * format examples/CMakeLists summary * Fix bug while the inference result is empty with YOLOv5 (#29) * Add multi-label function for yolov5 * Update README.md Update doc * Update fastdeploy_runtime.cc fix variable option.trt_max_shape wrong name * Update runtime_option.md Update resnet model dynamic shape setting name from images to x * Fix bug when inference result boxes are empty * Delete detection.py Co-authored-by: Jason <jiangjiajun@baidu.com> Co-authored-by: root <root@bjyz-sys-gpu-kongming3.bjyz.baidu.com> Co-authored-by: DefTruth <31974251+DefTruth@users.noreply.github.com> Co-authored-by: huangjianhui <852142024@qq.com> Co-authored-by: Jason <jiangjiajun@baidu.com> Co-authored-by: root <root@bjyz-sys-gpu-kongming3.bjyz.baidu.com> Co-authored-by: DefTruth <31974251+DefTruth@users.noreply.github.com> Co-authored-by: huangjianhui <852142024@qq.com> * Develop (#13) * Fix compile problem in different python version (#26) * fix some usage problem in linux * Fix compile problem Co-authored-by: root <root@bjyz-sys-gpu-kongming3.bjyz.baidu.com> * Add PaddleDetetion/PPYOLOE model support (#22) * add ppdet/ppyoloe * Add demo code and documents * add convert processor to vision (#27) * update .gitignore * Added checking for cmake include dir * fixed missing trt_backend option bug when init from trt * remove un-need data layout and add pre-check for dtype * changed RGB2BRG to BGR2RGB in ppcls model * add model_zoo yolov6 c++/python demo * fixed CMakeLists.txt typos * update yolov6 cpp/README.md * add yolox c++/pybind and model_zoo demo * move some helpers to private * fixed CMakeLists.txt typos * add normalize with alpha and beta * add version notes for yolov5/yolov6/yolox * add copyright to yolov5.cc * revert normalize * fixed some bugs in yolox * fixed examples/CMakeLists.txt to avoid conflicts * add convert processor to vision * format examples/CMakeLists summary * Fix bug while the inference result is empty with YOLOv5 (#29) * Add multi-label function for yolov5 * Update README.md Update doc * Update fastdeploy_runtime.cc fix variable option.trt_max_shape wrong name * Update runtime_option.md Update resnet model dynamic shape setting name from images to x * Fix bug when inference result boxes are empty * Delete detection.py Co-authored-by: Jason <jiangjiajun@baidu.com> Co-authored-by: root <root@bjyz-sys-gpu-kongming3.bjyz.baidu.com> Co-authored-by: DefTruth <31974251+DefTruth@users.noreply.github.com> Co-authored-by: huangjianhui <852142024@qq.com> * documents * documents * documents * documents * documents * documents * documents * documents * documents * documents * documents * documents * Develop (#14) * Fix compile problem in different python version (#26) * fix some usage problem in linux * Fix compile problem Co-authored-by: root <root@bjyz-sys-gpu-kongming3.bjyz.baidu.com> * Add PaddleDetetion/PPYOLOE model support (#22) * add ppdet/ppyoloe * Add demo code and documents * add convert processor to vision (#27) * update .gitignore * Added checking for cmake include dir * fixed missing trt_backend option bug when init from trt * remove un-need data layout and add pre-check for dtype * changed RGB2BRG to BGR2RGB in ppcls model * add model_zoo yolov6 c++/python demo * fixed CMakeLists.txt typos * update yolov6 cpp/README.md * add yolox c++/pybind and model_zoo demo * move some helpers to private * fixed CMakeLists.txt typos * add normalize with alpha and beta * add version notes for yolov5/yolov6/yolox * add copyright to yolov5.cc * revert normalize * fixed some bugs in yolox * fixed examples/CMakeLists.txt to avoid conflicts * add convert processor to vision * format examples/CMakeLists summary * Fix bug while the inference result is empty with YOLOv5 (#29) * Add multi-label function for yolov5 * Update README.md Update doc * Update fastdeploy_runtime.cc fix variable option.trt_max_shape wrong name * Update runtime_option.md Update resnet model dynamic shape setting name from images to x * Fix bug when inference result boxes are empty * Delete detection.py Co-authored-by: root <root@bjyz-sys-gpu-kongming3.bjyz.baidu.com> Co-authored-by: DefTruth <31974251+DefTruth@users.noreply.github.com> Co-authored-by: huangjianhui <852142024@qq.com> Co-authored-by: Jason <jiangjiajun@baidu.com> Co-authored-by: root <root@bjyz-sys-gpu-kongming3.bjyz.baidu.com> Co-authored-by: DefTruth <31974251+DefTruth@users.noreply.github.com> Co-authored-by: huangjianhui <852142024@qq.com> Co-authored-by: Jason <928090362@qq.com> * add is_dynamic for YOLO series (#22) * first commit test photo * yolov7 doc * yolov7 doc * yolov7 doc * yolov7 doc * add yolov5 docs * modify yolov5 doc * first commit for retinaface * first commit for retinaface * firt commit for ultraface * firt commit for ultraface * firt commit for yolov5face * firt commit for modnet and arcface * firt commit for modnet and arcface * first commit for partial_fc * first commit for partial_fc * first commit for yolox * first commit for yolov6 * first commit for nano_det * first commit for scrfd * first commit for scrfd * first commit for retinaface * first commit for ultraface * first commit for yolov5face * first commit for yolox yolov6 nano * rm jpg * first commit for modnet and modify nano * yolor scaledyolov4 v5lite * first commit for insightface * first commit for insightface * first commit for insightface * docs * docs * docs * docs * docs * add print for detect and modify docs * docs * docs * docs * docs test for insightface * docs test for insightface again * docs test for insightface * modify all wrong expressions in docs * modify all wrong expressions in docs * modify all wrong expressions in docs * modify all wrong expressions in docs * modify docs expressions * fix expression of detection part * fix expression of detection part * fix expression of detection part * add face recognition result doc * modify result docs * modify result docs * modify result docs Co-authored-by: Jason <jiangjiajun@baidu.com> Co-authored-by: root <root@bjyz-sys-gpu-kongming3.bjyz.baidu.com> Co-authored-by: DefTruth <31974251+DefTruth@users.noreply.github.com> Co-authored-by: huangjianhui <852142024@qq.com> Co-authored-by: Jason <928090362@qq.com> Co-authored-by: Jack Zhou <zhoushunjie@baidu.com> Co-authored-by: ziqi-jin <67993288+ziqi-jin@users.noreply.github.com> Co-authored-by: Jason <jiangjiajun@baidu.com> Co-authored-by: root <root@bjyz-sys-gpu-kongming3.bjyz.baidu.com> Co-authored-by: huangjianhui <852142024@qq.com> Co-authored-by: Jason <928090362@qq.com> * [feature][docs] update README.md and logo * [feature][docs] update README.md and logo * [feature][docs] update README.md and logo * [feature][docs] update README.md and logo * [feature][docs] update README.md and logo * [feature][docs] update README.md and logo * [feature][docs] update README.md and logo * feature][docs] update README.md and logo * feature][docs] update README.md and logo * feature][docs] update README.md and logo * [feature][docs] update README.md and logo * [feature][docs] update README.md and logo * [feature][win] fix typos and rm un-need file Co-authored-by: Jack Zhou <zhoushunjie@baidu.com> Co-authored-by: ziqi-jin <67993288+ziqi-jin@users.noreply.github.com> Co-authored-by: Jason <jiangjiajun@baidu.com> Co-authored-by: root <root@bjyz-sys-gpu-kongming3.bjyz.baidu.com> Co-authored-by: huangjianhui <852142024@qq.com> Co-authored-by: Jason <928090362@qq.com>
This commit is contained in:
259
README.md
259
README.md
@@ -1,9 +1,7 @@
|
||||
# ⚡️FastDeploy
|
||||
|
||||

|
||||
</p>
|
||||
|
||||
------------------------------------------------------------------------------------------
|
||||
|
||||
<p align="center">
|
||||
<a href="./LICENSE"><img src="https://img.shields.io/badge/license-Apache%202-dfd.svg"></a>
|
||||
<a href="https://github.com/PaddlePaddle/FastDeploy/releases"><img src="https://img.shields.io/github/v/release/PaddlePaddle/FastDeploy?color=ffa"></a>
|
||||
@@ -19,147 +17,196 @@
|
||||
**⚡️FastDeploy**是一款**简单易用**的推理部署工具箱。覆盖业界主流**优质预训练模型**并提供**开箱即用**的开发体验,包括图像分类、目标检测、图像分割、人脸检测、人体关键点识别、文字识别等多任务,满足开发者**多场景**,**多硬件**、**多平台**的快速部署需求。
|
||||
|
||||
## 发版历史
|
||||
- [v0.2.0] 2022.08.18 全面开源服务端部署代码,支持40+视觉模型在CPU/GPU,以及通过GPU TensorRT加速部署
|
||||
- [v0.2.0] 2022.08.18 全面开源服务端部署代码,支持40+视觉模型在CPU/GPU,以及通过TensorRT加速部署
|
||||
|
||||
## 服务端模型
|
||||
## 内容目录
|
||||
* [服务端模型列表](#fastdeploy-server-models)
|
||||
* [服务端快速开始](#fastdeploy-quick-start)
|
||||
* [快速安装](#fastdeploy-quick-start)
|
||||
* [Python预测示例](#fastdeploy-quick-start-python)
|
||||
* [C++预测示例](#fastdeploy-quick-start-cpp)
|
||||
* [轻量化SDK快速实现端侧AI推理部署](#fastdeploy-edge-sdk)
|
||||
* [边缘侧部署](#fastdeploy-edge-sdk-arm-linux)
|
||||
* [移动端部署](#fastdeploy-edge-sdk-ios-android)
|
||||
* [自定义模型部署](#fastdeploy-edge-sdk-custom)
|
||||
* [社区交流](#fastdeploy-community)
|
||||
* [Acknowledge](#fastdeploy-acknowledge)
|
||||
* [License](#fastdeploy-license)
|
||||
## 1. 服务端模型列表 🔥🔥🔥
|
||||
|
||||
| 任务场景 | 模型 | CPU | NVIDIA GPU | TensorRT |
|
||||
| -------- | ------------------------------------------------------------ | ------- | ---------- | ------------------- |
|
||||
| 图像分类 | [PaddleClas/ResNet50](./examples/vision/classification/paddleclas) | √ | √ | √ |
|
||||
| | [PaddleClas/PPLCNet](./examples/vision/classification/paddleclas) | √ | √ | √ |
|
||||
| | [PaddleClas/EfficientNet](./examples/vision/classification/paddleclas) | √ | √ | √ |
|
||||
| | [PaddleClas/GhostNet](./examples/vision/classification/paddleclas) | √ | √ | √ |
|
||||
| | [PaddleClas/MobileNetV1](./examples/vision/classification/paddleclas) | √ | √ | √ |
|
||||
| | [PaddleClas/MobileNetV2](./examples/vision/classification/paddleclas) | √ | √ | √ |
|
||||
| | [PaddleClas/ShuffleNetV2](./examples/vision/classification/paddleclas) | √ | √ | √ |
|
||||
| 目标检测 | [PaddleDetection/PPYOLOE](./examples/vision/detection/paddledetection) | √ | √ | √ |
|
||||
| | [PaddleDetection/PicoDet](./examples/vision/detection/paddledetection) | √ | √ | √ |
|
||||
| | [PaddleDetection/YOLOX](./examples/vision/detection/paddledetection) | √ | √ | √ |
|
||||
| | [PaddleDetection/YOLOv3](./examples/vision/detection/paddledetection) | √ | √ | √ |
|
||||
| | [PaddleDetection/PPYOLO](./examples/vision/detection/paddledetection) | √ | √ | - |
|
||||
| | [PaddleDetection/PPYOLOv2](./examples/vision/detection/paddledetection) | √ | √ | - |
|
||||
| | [PaddleDetection/FasterRCNN](./examples/vision/detection/paddledetection) | √ | √ | - |
|
||||
| | [WongKinYiu/YOLOv7](./examples/vision/detection/yolov7) | √ | √ | √ |
|
||||
<div id="fastdeploy-server-models"></div>
|
||||
|
||||
## 快速开始
|
||||
符号说明: (1) ✅: 已经支持; (2) ❔: 计划未来支持; (3) ❌: 暂不支持; (4) contrib: 外部模型
|
||||
| <font size=2> 任务场景 </font> | <font size=2> 模型 | <font size=2> API | <font size=2> Linux | <font size=2> Linux | <font size=2> Windows | <font size=2> Windows | <font size=2> MacOS | <font size=2> MacOS | <font size=2> Linux |
|
||||
| :--------: | :--------: | :--------: | :--------: | :--------: | :--------: | :--------: | :--------: | :--------: | :--------: |
|
||||
| --- | --- | --- | <font size=2> X86 CPU | <font size=2> NVIDIA GPU | <font size=2> Intel CPU | <font size=2> NVIDIA GPU | <font size=2> Intel CPU | <font size=2> Arm CPU | <font size=2> NVIDIA Jetson |
|
||||
| <font size=2> Classification | <font size=2> [PaddleClas/ResNet50](./examples/vision/classification/paddleclas) | <font size=2> [Python](./examples/vision/classification/paddleclas/python)/[C++](./examples/vision/classification/paddleclas/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Classification | <font size=2> [PaddleClas/PPLCNet](./examples/vision/classification/paddleclas) | <font size=2> [Python](./examples/vision/classification/paddleclas/python)/[C++](./examples/vision/classification/paddleclas/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Classification | <font size=2> [PaddleClas/PPLCNetv2](./examples/vision/classification/paddleclas) | <font size=2> [Python](./examples/vision/classification/paddleclas/python)/[C++](./examples/vision/classification/paddleclas/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Classification | <font size=2> [PaddleClas/EfficientNet](./examples/vision/classification/paddleclas) | <font size=2> [Python](./examples/vision/classification/paddleclas/python)/[C++](./examples/vision/classification/paddleclas/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Classification | <font size=2> [PaddleClas/GhostNet](./examples/vision/classification/paddleclas) | <font size=2> [Python](./examples/vision/classification/paddleclas/python)/[C++](./examples/vision/classification/paddleclas/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Classification | <font size=2> [PaddleClas/MobileNetV1](./examples/vision/classification/paddleclas) | <font size=2> [Python](./examples/vision/classification/paddleclas/python)/[C++](./examples/vision/classification/paddleclas/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Classification | <font size=2> [PaddleClas/MobileNetV2](./examples/vision/classification/paddleclas) | <font size=2> [Python](./examples/vision/classification/paddleclas/python)/[C++](./examples/vision/classification/paddleclas/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Classification | <font size=2> [PaddleClas/MobileNetV3](./examples/vision/classification/paddleclas) | <font size=2> [Python](./examples/vision/classification/paddleclas/python)/[C++](./examples/vision/classification/paddleclas/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Classification | <font size=2> [PaddleClas/ShuffleNetV2](./examples/vision/classification/paddleclas) | <font size=2> [Python](./examples/vision/classification/paddleclas/python)/[C++](./examples/vision/classification/paddleclas/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Classification | <font size=2> [PaddleClas/SqueeezeNetV1.1](./examples/vision/classification/paddleclas) | <font size=2> [Python](./examples/vision/classification/paddleclas/python)/[C++](./examples/vision/classification/paddleclas/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Classification | <font size=2> [PaddleClas/Inceptionv3](./examples/vision/classification/paddleclas) | <font size=2> [Python](./examples/vision/classification/paddleclas/python)/[C++](./examples/vision/classification/paddleclas/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Classification | <font size=2> [PaddleClas/PPHGNet](./examples/vision/classification/paddleclas) | <font size=2> [Python](./examples/vision/classification/paddleclas/python)/[C++](./examples/vision/classification/paddleclas/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Classification | <font size=2> [PaddleClas/SwinTransformer](./examples/vision/classification/paddleclas) | <font size=2> [Python](./examples/vision/classification/paddleclas/python)/[C++](./examples/vision/classification/paddleclas/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Detection | <font size=2> [PaddleDetection/PPYOLOE](./examples/vision/detection/paddledetection) | <font size=2> [Python](./examples/vision/detection/paddledetection/python)/[C++](./examples/vision/detection/paddledetection/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Detection | <font size=2> [PaddleDetection/PicoDet](./examples/vision/detection/paddledetection) | <font size=2> [Python](./examples/vision/detection/paddledetection/python)/[C++](./examples/vision/detection/paddledetection/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Detection | <font size=2> [PaddleDetection/YOLOX](./examples/vision/detection/paddledetection) | <font size=2> [Python](./examples/vision/detection/paddledetection/python)/[C++](./examples/vision/detection/paddledetection/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Detection | <font size=2> [PaddleDetection/YOLOv3](./examples/vision/detection/paddledetection) | <font size=2> [Python](./examples/vision/detection/paddledetection/python)/[C++](./examples/vision/detection/paddledetection/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Detection | <font size=2> [PaddleDetection/PPYOLO](./examples/vision/detection/paddledetection) | <font size=2> [Python](./examples/vision/detection/paddledetection/python)/[C++](./examples/vision/detection/paddledetection/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Detection | <font size=2> [PaddleDetection/PPYOLOv2](./examples/vision/detection/paddledetection) | <font size=2> [Python](./examples/vision/detection/paddledetection/python)/[C++](./examples/vision/detection/paddledetection/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Detection | <font size=2> [PaddleDetection/FasterRCNN](./examples/vision/detection/paddledetection) | <font size=2> [Python](./examples/vision/detection/paddledetection/python)/[C++](./examples/vision/detection/paddledetection/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Detection | <font size=2> [Contrib/YOLOX](./examples/vision/detection/yolox) | <font size=2> [Python](./examples/vision/detection/yolox/python)/[C++](./examples/vision/detection/yolox/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Detection | <font size=2> [Contrib/YOLOv7](./examples/vision/detection/yolov7) | <font size=2> [Python](./examples/vision/detection/yolov7/python)/[C++](./examples/vision/detection/yolov7/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Detection | <font size=2> [Contrib/YOLOv6](./examples/vision/detection/yolov6) | <font size=2> [Python](./examples/vision/detection/yolov6/python)/[C++](./examples/vision/detection/yolov6/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Detection | <font size=2> [Contrib/YOLOv5](./examples/vision/detection/yolov5) | <font size=2> [Python](./examples/vision/detection/yolov5/python)/[C++](./examples/vision/detection/yolov5/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Detection | <font size=2> [Contrib/YOLOR](./examples/vision/detection/yolor) | <font size=2> [Python](./examples/vision/detection/yolor/python)/[C++](./examples/vision/detection/yolor/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Detection | <font size=2> [Contrib/ScaledYOLOv4](./examples/vision/detection/scaledyolov4) | <font size=2> [Python](./examples/vision/detection/scaledyolov4/python)/[C++](./examples/vision/detection/scaledyolov4/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Detection | <font size=2> [Contrib/YOLOv5Lite](./examples/vision/detection/yolov5lite) | <font size=2> [Python](./examples/vision/detection/yolov5lite/python)/[C++](./examples/vision/detection/yolov5lite/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Detection | <font size=2> [Contrib/NanoDetPlus](./examples/vision/detection/nanodet_plus) | <font size=2> [Python](./examples/vision/detection/nanodet_plus/python)/[C++](./examples/vision/detection/nanodet_plus/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Segmentation | <font size=2> [PaddleSeg/PPLiteSeg](./examples/vision/segmentation/paddleseg) | <font size=2> [Python](./examples/vision/segmentation/paddleseg/python)/[C++](./examples/vision/segmentation/paddleseg/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Segmentation | <font size=2> [PaddleSeg/PPHumanSegLite](./examples/vision/segmentation/paddleseg) | <font size=2> [Python](./examples/vision/segmentation/paddleseg/python)/[C++](./examples/vision/segmentation/paddleseg/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Segmentation | <font size=2> [PaddleSeg/HRNet](./examples/vision/segmentation/paddleseg) | <font size=2> [Python](./examples/vision/segmentation/paddleseg/python)/[C++](./examples/vision/segmentation/paddleseg/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Segmentation | <font size=2> [PaddleSeg/PPHumanSegServer](./examples/vision/segmentation/paddleseg) | <font size=2> [Python](./examples/vision/segmentation/paddleseg/python)/[C++](./examples/vision/segmentation/paddleseg/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Segmentation | <font size=2> [PaddleSeg/Unet](./examples/vision/segmentation/paddleseg) | <font size=2> [Python](./examples/vision/segmentation/paddleseg/python)/[C++](./examples/vision/segmentation/paddleseg/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Segmentation | <font size=2> [PaddleSeg/Deeplabv3](./examples/vision/segmentation/paddleseg) | <font size=2> [Python](./examples/vision/segmentation/paddleseg/python)/[C++](./examples/vision/segmentation/paddleseg/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> FaceDetection | <font size=2> [Contrib/RetinaFace](./examples/vision/facedet/retinaface) | <font size=2> [Python](./examples/vision/facedet/retinaface/python)/[C++](./examples/vision/facedet/retinaface/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> FaceDetection | <font size=2> [Contrib/UltraFace](./examples/vision/facedet/utltraface) | [<font size=2> Python](./examples/vision/facedet/utltraface/python)/[C++](./examples/vision/facedet/utltraface/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> FaceDetection | <font size=2> [Contrib/YOLOv5Face](./examples/vision/facedet/yolov5face) | <font size=2> [Python](./examples/vision/facedet/yolov5face/python)/[C++](./examples/vision/facedet/yolov5face/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> FaceDetection | <font size=2> [Contrib/SCRFD](./examples/vision/facedet/scrfd) | <font size=2> [Python](./examples/vision/facedet/scrfd/python)/[C++](./examples/vision/facedet/scrfd/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> FaceRecognition | <font size=2> [Contrib/ArcFace](./examples/vision/faceid/insightface) | <font size=2> [Python](./examples/vision/faceid/insightface/python)/[C++](./examples/vision/faceid/insightface/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> FaceRecognition | <font size=2> [Contrib/CosFace](./examples/vision/faceid/insightface) | <font size=2> [Python](./examples/vision/faceid/insightface/python)/[C++](./examples/vision/faceid/insightface/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> FaceRecognition | <font size=2> [Contrib/PartialFC](./examples/vision/faceid/insightface) | <font size=2> [Python](./examples/vision/faceid/insightface/python)/[C++](./examples/vision/faceid/insightface/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> FaceRecognition | <font size=2> [Contrib/VPL](./examples/vision/faceid/insightface) | <font size=2> [Python](./examples/vision/faceid/insightface/python)/[C++](./examples/vision/faceid/insightface/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
| <font size=2> Matting | <font size=2> [Contrib/MODNet](./examples/vision/matting/modnet) | <font size=2> [Python](./examples/vision/matting/modnet/python)/[C++](./examples/vision/matting/modnet/cpp) | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
|
||||
|
||||
#### 安装FastDeploy Python
|
||||
|
||||
用户根据开发环境选择安装版本,更多安装环境参考[安装文档](docs/quick_start/install.md).
|
||||
## 2. 服务端快速开始
|
||||
<div id="fastdeploy-quick-start"></div>
|
||||
|
||||
```
|
||||
<details>
|
||||
<summary>💡 快速安装 FastDeploy Python/C++ 库 </summary>
|
||||
|
||||
用户根据自己的python版本选择安装对应的wheel包,详细的wheel目录请参考 [python安装文档](docs/compile/prebuilt_wheels.md) .
|
||||
|
||||
```bash
|
||||
pip install https://bj.bcebos.com/paddlehub/fastdeploy/wheels/fastdeploy_python-0.2.0-cp38-cp38-manylinux1_x86_64.whl
|
||||
```
|
||||
|
||||
准备目标检测模型和测试图片
|
||||
或获取C++预编译库,更多可用的预编译库请参考 [C++预编译库下载](docs/compile/prebuilt_libraries.md)
|
||||
```bash
|
||||
wget https://bj.bcebos.com/paddlehub/fastdeploy/cpp/fastdeploy-linux-x64-0.2.0.tgz
|
||||
```
|
||||
准备目标检测模型和测试图片
|
||||
```bash
|
||||
wget https://bj.bcebos.com/paddlehub/fastdeploy/ppyoloe_crn_l_300e_coco.tgz
|
||||
tar xvf ppyoloe_crn_l_300e_coco.tgz
|
||||
wget https://gitee.com/paddlepaddle/PaddleDetection/raw/release/2.4/demo/000000014439.jpg
|
||||
```
|
||||
</details>
|
||||
|
||||
加载模型预测
|
||||
```
|
||||
import fastdeploy.vision as vis
|
||||
### 2.1 Python预测示例
|
||||
<div id="fastdeploy-quick-start-python"></div>
|
||||
|
||||
```python
|
||||
import cv2
|
||||
import fastdeploy.vision as vision
|
||||
|
||||
model = vis.detection.PPYOLOE("ppyoloe_crn_l_300e_coco/model.pdmodel",
|
||||
"ppyoloe_crn_l_300e_coco/model.pdiparams",
|
||||
"ppyoloe_crn_l_300e_coco/infer_cfg.yml")
|
||||
|
||||
model = vision.detection.PPYOLOE("model.pdmodel", "model.pdiparams", "infer_cfg.yml")
|
||||
im = cv2.imread("000000014439.jpg")
|
||||
result = model.predict(im.copy())
|
||||
print(result)
|
||||
|
||||
vis_im = fd.vision.vis_detection(im, result, score_threshold=0.5)
|
||||
vis_im = vision.vis_detection(im, result, score_threshold=0.5)
|
||||
cv2.imwrite("vis_image.jpg", vis_im)
|
||||
```
|
||||
### 2.2 C++预测示例
|
||||
<div id="fastdeploy-quick-start-cpp"></div>
|
||||
|
||||
预测完成,可视化结果保存至`vis_image.jpg`,同时输出检测结果如下
|
||||
```
|
||||
DetectionResult: [xmin, ymin, xmax, ymax, score, label_id]
|
||||
415.047363,89.311523, 506.009613, 283.863129, 0.950423, 0
|
||||
163.665710,81.914894, 198.585342, 166.760880, 0.896433, 0
|
||||
581.788635,113.027596, 612.623474, 198.521713, 0.842597, 0
|
||||
267.217224,89.777321, 298.796051, 169.361496, 0.837951, 0
|
||||
104.465599,45.482410, 127.688835, 93.533875, 0.773348, 0
|
||||
...
|
||||
```C++
|
||||
#include "fastdeploy/vision.h"
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
namespace vision = fastdeploy::vision;
|
||||
auto model = vision::detection::PPYOLOE("model.pdmodel", "model.pdiparams", "infer_cfg.yml");
|
||||
auto im = cv::imread("000000014439.jpg");
|
||||
|
||||
vision::DetectionResult res;
|
||||
model.Predict(&im, &res)
|
||||
|
||||
auto vis_im = vision::Visualize::VisDetection(im, res, 0.5);
|
||||
cv::imwrite("vis_image.jpg", vis_im);
|
||||
}
|
||||
```
|
||||
更多部署案例请参考[视觉模型部署示例](examples/vision) .
|
||||
|
||||
## 更多服务端部署示例
|
||||
|
||||
FastDeploy提供了大量部署示例供开发者参考,支持模型在CPU、GPU以及TensorRT的部署
|
||||
|
||||
- [PaddleDetection模型部署](examples/vision/detection/paddledetection)
|
||||
- [PaddleClas模型部署](examples/vision/classification/paddleclas)
|
||||
- [PaddleSeg模型部署](examples/vision/segmentation/paddleseg)
|
||||
- [YOLOv7部署](examples/vision/detection/yolov7)
|
||||
- [YOLOv6部署](examples/vision/detection/yolov6)
|
||||
- [YOLOv5部署](examples/vision/detection/yolov5)
|
||||
- [人脸检测模型部署](examples/vision/facedet)
|
||||
- [更多视觉模型部署示例...](examples/vision)
|
||||
|
||||
### 📱轻量化SDK快速实现端侧AI推理部署
|
||||
|
||||
## 3. 轻量化SDK快速实现端侧AI推理部署 📱
|
||||
<div id="fastdeploy-edge-sdk"></div>
|
||||
|
||||
| <font size=2> 任务场景 | <font size=2> 模型 | <font size=2> 大小(MB) | <font size=2>边缘端 | <font size=2>移动端 | <font size=2> 移动端 |
|
||||
| ------------------ | ---------------------------- | --------------------- | --------------------- | ---------------------- | --------------------- |
|
||||
| ---- | --- | --- | <font size=2> Linux | <font size=2> Android | <font size=2> iOS |
|
||||
| ----- | ---- | --- | <font size=2> ARM CPU | <font size=2> ARM CPU | <font size=2> ARM CPU |
|
||||
| Classfication | PP-LCNet | 11.9 | ✅ | ✅ | ✅ |
|
||||
| | PP-LCNetv2 | 26.6 | ✅ | ✅ | ✅ |
|
||||
| | EfficientNet | 31.4 | ✅ | ✅ | ✅ |
|
||||
| | GhostNet | 20.8 | ✅ | ✅ | ✅ |
|
||||
| | MobileNetV1 | 17 | ✅ | ✅ | ✅ |
|
||||
| | MobileNetV2 | 14.2 | ✅ | ✅ | ✅ |
|
||||
| | MobileNetV3 | 22 | ✅ | ✅ | ✅ |
|
||||
| | ShuffleNetV2 | 9.2 | ✅ | ✅ | ✅ |
|
||||
| | SqueezeNetV1.1 | 5 | ✅ | ✅ | ✅ |
|
||||
| | Inceptionv3 | 95.5 | ✅ | ✅ | ✅ |
|
||||
| | PP-HGNet | 59 | ✅ | ✅ | ✅ |
|
||||
| | SwinTransformer_224_win7 | 352.7 | ✅ | ✅ | ✅ |
|
||||
| Detection | PP-PicoDet_s_320_coco | 4.1 | ✅ | ✅ | ✅ |
|
||||
| | PP-PicoDet_s_320_lcnet | 4.9 | ✅ | ✅ | ✅ |
|
||||
| | CenterNet | 4.8 | ✅ | ✅ | ✅ |
|
||||
| | YOLOv3_MobileNetV3 | 94.6 | ✅ | ✅ | ✅ |
|
||||
| | PP-YOLO_tiny_650e_coco | 4.4 | ✅ | ✅ | ✅ |
|
||||
| | SSD_MobileNetV1_300_120e_voc | 23.3 | ✅ | ✅ | ✅ |
|
||||
| | PP-YOLO_ResNet50vd | 188.5 | ✅ | ✅ | ✅ |
|
||||
| | PP-YOLOv2_ResNet50vd | 218.7 | ✅ | ✅ | ✅ |
|
||||
| | PP-YOLO_crn_l_300e_coco | 209.1 | ✅ | ✅ | ✅ |
|
||||
| | YOLOv5s | 29.3 | ✅ | ✅ | ✅ |
|
||||
| Face Detection | BlazeFace | 1.5 | ✅ | ✅ | ✅ |
|
||||
| Face Localisation | RetinaFace | 1.7 | ✅ | ❌ | ❌ |
|
||||
| Keypoint Detection | PP-TinyPose | 5.5 | ✅ | ✅ | ✅ |
|
||||
| Segmentation | PP-LiteSeg(STDC1) | 32.2 | ✅ | ✅ | ✅ |
|
||||
| | PP-HumanSeg-Lite | 0.556 | ✅ | ✅ | ✅ |
|
||||
| | HRNet-w18 | 38.7 | ✅ | ✅ | ✅ |
|
||||
| | PP-HumanSeg-Server | 107.2 | ✅ | ✅ | ✅ |
|
||||
| | Unet | 53.7 | ❌ | ✅ | ❌ |
|
||||
| OCR | PP-OCRv1 | 2.3+4.4 | ✅ | ✅ | ✅ |
|
||||
| | PP-OCRv2 | 2.3+4.4 | ✅ | ✅ | ✅ |
|
||||
| | PP-OCRv3 | 2.4+10.6 | ✅ | ✅ | ✅ |
|
||||
| | PP-OCRv3-tiny | 2.4+10.7 | ✅ | ✅ | ✅ |
|
||||
| :--------: | :--------: | :--------: | :--------: | :--------: | :--------: |
|
||||
| --- | --- | --- | <font size=2> Linux | <font size=2> Android | <font size=2> iOS |
|
||||
| --- | --- | --- | <font size=2> ARM CPU | <font size=2> ARM CPU | <font size=2> ARM CPU |
|
||||
| Classification | PP-LCNet | 11.9 | ✅ | ✅ | ✅ |
|
||||
| Classification | PP-LCNetv2 | 26.6 | ✅ | ✅ | ✅ |
|
||||
| Classification | EfficientNet | 31.4 | ✅ | ✅ | ✅ |
|
||||
| Classification | GhostNet | 20.8 | ✅ | ✅ | ✅ |
|
||||
| Classification | MobileNetV1 | 17 | ✅ | ✅ | ✅ |
|
||||
| Classification | MobileNetV2 | 14.2 | ✅ | ✅ | ✅ |
|
||||
| Classification | MobileNetV3 | 22 | ✅ | ✅ | ✅ |
|
||||
| Classification | ShuffleNetV2 | 9.2 | ✅ | ✅ | ✅ |
|
||||
| Classification | SqueezeNetV1.1 | 5 | ✅ | ✅ | ✅ |
|
||||
| Classification | Inceptionv3 | 95.5 | ✅ | ✅ | ✅ |
|
||||
| Classification | PP-HGNet | 59 | ✅ | ✅ | ✅ |
|
||||
| Classification | SwinTransformer_224_win7 | 352.7 | ✅ | ✅ | ✅ |
|
||||
| Detection | PP-PicoDet_s_320_coco | 4.1 | ✅ | ✅ | ✅ |
|
||||
| Detection | PP-PicoDet_s_320_lcnet | 4.9 | ✅ | ✅ | ✅ |
|
||||
| Detection | CenterNet | 4.8 | ✅ | ✅ | ✅ |
|
||||
| Detection | YOLOv3_MobileNetV3 | 94.6 | ✅ | ✅ | ✅ |
|
||||
| Detection | PP-YOLO_tiny_650e_coco | 4.4 | ✅ | ✅ | ✅ |
|
||||
| Detection | SSD_MobileNetV1_300_120e_voc | 23.3 | ✅ | ✅ | ✅ |
|
||||
| Detection | PP-YOLO_ResNet50vd | 188.5 | ✅ | ✅ | ✅ |
|
||||
| Detection | PP-YOLOv2_ResNet50vd | 218.7 | ✅ | ✅ | ✅ |
|
||||
| Detection | PP-YOLO_crn_l_300e_coco | 209.1 | ✅ | ✅ | ✅ |
|
||||
| Detection | YOLOv5s | 29.3 | ✅ | ✅ | ✅ |
|
||||
| FaceDetection | BlazeFace | 1.5 | ✅ | ✅ | ✅ |
|
||||
| FaceDetection | RetinaFace | 1.7 | ✅ | ❌ | ❌ |
|
||||
| KeypointsDetection | PP-TinyPose | 5.5 | ✅ | ✅ | ✅ |
|
||||
| Segmentation | PP-LiteSeg(STDC1) | 32.2 | ✅ | ✅ | ✅ |
|
||||
| Segmentation | PP-HumanSeg-Lite | 0.556 | ✅ | ✅ | ✅ |
|
||||
| Segmentation | HRNet-w18 | 38.7 | ✅ | ✅ | ✅ |
|
||||
| Segmentation | PP-HumanSeg-Server | 107.2 | ✅ | ✅ | ✅ |
|
||||
| Segmentation | Unet | 53.7 | ❌ | ✅ | ❌ |
|
||||
| OCR | PP-OCRv1 | 2.3+4.4 | ✅ | ✅ | ✅ |
|
||||
| OCR | PP-OCRv2 | 2.3+4.4 | ✅ | ✅ | ✅ |
|
||||
| OCR | PP-OCRv3 | 2.4+10.6 | ✅ | ✅ | ✅ |
|
||||
| OCR | PP-OCRv3-tiny | 2.4+10.7 | ✅ | ✅ | ✅ |
|
||||
|
||||
### 3.1 边缘侧部署
|
||||
<div id="fastdeploy-edge-sdk-arm-linux"></div>
|
||||
|
||||
#### 边缘侧部署
|
||||
|
||||
- ARM Linux 系统
|
||||
- ARM Linux 系统
|
||||
- [C++ Inference部署(含视频流)](./docs/ARM-Linux-CPP-SDK-Inference.md)
|
||||
- [C++ 服务化部署](./docs/ARM-Linux-CPP-SDK-Serving.md)
|
||||
- [Python Inference部署](./docs/ARM-Linux-Python-SDK-Inference.md)
|
||||
- [Python 服务化部署](./docs/ARM-Linux-Python-SDK-Serving.md)
|
||||
|
||||
#### 移动端部署
|
||||
### 3.2 移动端部署
|
||||
<div id="fastdeploy-edge-sdk-ios-android"></div>
|
||||
|
||||
- [iOS 系统部署](./docs/iOS-SDK.md)
|
||||
- [Android 系统部署](./docs/Android-SDK.md)
|
||||
|
||||
#### 自定义模型部署
|
||||
### 3.3 自定义模型部署
|
||||
<div id="fastdeploy-edge-sdk-custom"></div>
|
||||
|
||||
- [快速实现个性化模型替换](./docs/Replace-Model-With-Anther-One.md)
|
||||
|
||||
## 社区交流
|
||||
## 4. 社区交流
|
||||
<div id="fastdeploy-community"></div>
|
||||
|
||||
- **加入社区👬:** 微信扫描二维码后,填写问卷加入交流群,与开发者共同讨论推理部署痛点问题
|
||||
|
||||
@@ -167,11 +214,13 @@ FastDeploy提供了大量部署示例供开发者参考,支持模型在CPU、G
|
||||
<img src="https://user-images.githubusercontent.com/54695910/175854075-2c0f9997-ed18-4b17-9aaf-1b43266d3996.jpeg" width = "200" height = "200" />
|
||||
</div>
|
||||
|
||||
## Acknowledge
|
||||
## 5. Acknowledge
|
||||
<div id="fastdeploy-acknowledge"></div>
|
||||
|
||||
本项目中SDK生成和下载使用了[EasyEdge](https://ai.baidu.com/easyedge/app/openSource)中的免费开放能力,再次表示感谢。
|
||||
|
||||
|
||||
## License
|
||||
## 6. License
|
||||
<div id="fastdeploy-license"></div>
|
||||
|
||||
FastDeploy遵循[Apache-2.0开源协议](./LICENSE)。
|
||||
|
||||
Reference in New Issue
Block a user