2023-02-02 16:37:52 +08:00
2023-02-02 16:37:52 +08:00
2023-02-02 15:44:52 +08:00
2023-01-11 15:36:32 +08:00
2022-11-10 16:00:08 +08:00
2022-07-05 09:30:15 +00:00
2022-07-05 09:30:15 +00:00
2022-07-05 09:30:15 +00:00
2022-06-27 18:23:21 +08:00
2023-02-02 16:29:27 +08:00
2023-02-02 16:29:50 +08:00
2023-01-03 08:09:13 +08:00
2022-10-25 10:31:57 +08:00

English | 简体中文 | हिनà¥à¤¦à¥€ | 日本語 | í•œêµ­ì¸ | PуÌÑÑкий ÑзыÌк

âš¡ï¸FastDeploy

Installation | Documents | Quick Start | API Docs | Release Notes


âš¡ï¸FastDeploy is an Easy-to-use and High Performance AI model deployment toolkit for Cloud, Mobile and Edge with 📦out-of-the-box and unified experience, 🔚end-to-end optimization for over 🔥160+ Text, Vision, Speech and Cross-modal AI models. Including image classification, object detection, OCR, face detection, matting, pp-tracking, NLP, stable difussion, TTS and other tasks to meet developers' industrial deployment needs for multi-scenario, multi-hardware and multi-platform.

🌠 Recent updates

  • ✨✨✨ In 2023.01.17 we released YOLOv8 for deployment on FastDeploy series hardware, which includes Paddle YOLOv8 and ultralytics YOLOv8

  • Serving deployment combined with VisualDL supports visual deployment. After the VDL service is started in the FastDeploy container, you can modify the model configuration, start/manage the model service, view performance data, and send requests on the VDL interface. For details, see related documents

  • ✨👥✨ Community

    • Slack:Join our Slack community and chat with other community members about ideas
    • Wechat:Scan the QR code below using WeChat, follow the PaddlePaddle official account and fill out the questionnaire to join the WeChat group, and share the deployment industry implementation pain points with the community developers

🌌 Inference Backend and Abilities

X86_64 CPU       





NVDIA GPU




Phytium CPU
KunlunXin XPU
Huawei Ascend NPU
Graphcore IPU
Sophgo
Intel graphics card
Jetson




ARM CPU

RK3588 etc.
RV1126 etc.
Amlogic
NXP

🔮 Contents

Quick Start💨

A Quick Start for Python SDK(click to fold)

🎆 Installation

🔸 Prerequisites
  • CUDA >= 11.2 ã€cuDNN >= 8.0 〠Python >= 3.6
  • OS: Linux x86_64/macOS/Windows 10
🔸 Install FastDeploy SDK with both CPU and GPU support
pip install fastdeploy-gpu-python -f https://www.paddlepaddle.org.cn/whl/fastdeploy.html
conda config --add channels conda-forge && conda install cudatoolkit=11.2 cudnn=8.2
🔸 Install FastDeploy SDK with only CPU support
pip install fastdeploy-python -f https://www.paddlepaddle.org.cn/whl/fastdeploy.html

🎇 Python Inference Example

  • Prepare model and picture
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
  • Test inference results
# For deployment of GPU/TensorRT, please refer to examples/vision/detection/paddledetection/python
import cv2
import fastdeploy.vision as vision

im = cv2.imread("000000014439.jpg")
model = vision.detection.PPYOLOE("ppyoloe_crn_l_300e_coco/model.pdmodel",
                                 "ppyoloe_crn_l_300e_coco/model.pdiparams",
                                 "ppyoloe_crn_l_300e_coco/infer_cfg.yml")

result = model.predict(im)
print(result)

vis_im = vision.vis_detection(im, result, score_threshold=0.5)
cv2.imwrite("vis_image.jpg", vis_im)
A Quick Start for C++ SDK(click to expand)

🎆 Installation

🎇 C++ Inference Example

  • Prepare models and pictures
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
  • Test inference results
// For GPU/TensorRT deployment, please refer to examples/vision/detection/paddledetection/cpp
#include "fastdeploy/vision.h"

int main(int argc, char* argv[]) {
  namespace vision = fastdeploy::vision;
  auto im = cv::imread("000000014439.jpg");
  auto model = vision::detection::PPYOLOE("ppyoloe_crn_l_300e_coco/model.pdmodel",
                                          "ppyoloe_crn_l_300e_coco/model.pdiparams",
                                          "ppyoloe_crn_l_300e_coco/infer_cfg.yml");

  vision::DetectionResult res;
  model.Predict(&im, &res);

  auto vis_im = vision::VisDetection(im, res, 0.5);
  cv::imwrite("vis_image.jpg", vis_im);
  return 0;
 }

For more deployment models, please refer to Vision Model Deployment Examples .

âœ´ï¸ âœ´ï¸ Server-side and Cloud Model List âœ´ï¸ âœ´ï¸

Notes: ✅: already supported; â”: to be supported in the future; N/A: Not Available;

Server-side and cloud model list(click to fold)
Task Model Linux Linux Win Win Mac Mac Linux Linux Linux Linux Linux Linux Linux
--- --- X86 CPU NVIDIA GPU X86 CPU NVIDIA GPU X86 CPU Arm CPU AArch64 CPU Phytium D2000 aarch64 NVIDIA Jetson Graphcore IPU kunlunxin XPU Huawei Ascend Serving
Classification PaddleClas/ResNet50 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅
Classification TorchVison/ResNet ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ ✅ â”
Classification ltralytics/YOLOv5Cls ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ â” â”
Classification PaddleClas/PP-LCNet ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅
Classification PaddleClas/PP-LCNetv2 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅
Classification PaddleClas/EfficientNet ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅
Classification PaddleClas/GhostNet ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅
Classification PaddleClas/MobileNetV1 �� ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅
Classification PaddleClas/MobileNetV2 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅
Classification PaddleClas/MobileNetV3 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅
Classification PaddleClas/ShuffleNetV2 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅
Classification PaddleClas/SqueeezeNetV1.1 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅
Classification PaddleClas/Inceptionv3 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ ✅ ✅
Classification PaddleClas/PP-HGNet ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅
Detection 🔥🔥PaddleDetection/PP-YOLOE+ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ ✅ ✅
Detection 🔥PaddleDetection/YOLOv8 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ ✅ â”
Detection 🔥ultralytics/YOLOv8 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ â” â” â” â”
Detection PaddleDetection/PicoDet ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ ┠✅
Detection PaddleDetection/YOLOX ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ ✅ ✅
Detection PaddleDetection/YOLOv3 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ ✅ ✅
Detection PaddleDetection/PP-YOLO ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ ✅ ✅
Detection PaddleDetection/PP-YOLOv2 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ ✅ ✅
Detection PaddleDetection/Faster-RCNN ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ ┠✅
Detection PaddleDetection/Mask-RCNN ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ ┠✅
Detection Megvii-BaseDetection/YOLOX ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ ✅ â”
Detection WongKinYiu/YOLOv7 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ ✅ â”
Detection WongKinYiu/YOLOv7end2end_trt ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ â” â” â” â”
Detection WongKinYiu/YOLOv7end2end_ort ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ â” â” â” â”
Detection meituan/YOLOv6 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ â”
Detection ultralytics/YOLOv5 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ ✅ ✅
Detection WongKinYiu/YOLOR ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ ┠┠✅ â”
Detection WongKinYiu/ScaledYOLOv4 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ â” â” â” â”
Detection ppogg/YOLOv5Lite ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ? â” â” â”
Detection RangiLyu/NanoDetPlus ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ â” â” â” â”
KeyPoint PaddleDetection/TinyPose ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ â” â”
KeyPoint PaddleDetection/PicoDet + TinyPose ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ â” â”
HeadPose omasaht/headpose ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ â” â” â” â”
Tracking PaddleDetection/PP-Tracking ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ â” â” â” â”
OCR PaddleOCR/PP-OCRv2 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ ┠✅ ✅ â”
OCR PaddleOCR/PP-OCRv3 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ ✅ ✅
Segmentation PaddleSeg/PP-LiteSeg ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ ┠✅ â” â”
Segmentation PaddleSeg/PP-HumanSegLite ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ ┠✅ ✅ â”
Segmentation PaddleSeg/HRNet ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ ┠✅ ✅ â”
Segmentation PaddleSeg/PP-HumanSegServer ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ ┠✅ ✅ â”
Segmentation PaddleSeg/Unet ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ ✅ ✅ ✅ â”
Segmentation PaddleSeg/Deeplabv3 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ ┠✅ ✅ â”
FaceDetection biubug6/RetinaFace ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ â” â” â” â”
FaceDetection Linzaer/UltraFace ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ â” â” â” â”
FaceDetection deepcam-cn/YOLOv5Face ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ â” â” â” â”
FaceDetection insightface/SCRFD ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ â” â” â” â”
FaceAlign Hsintao/PFLD ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ â” â” â” â”
FaceAlign Single430/FaceLandmark1000 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ â” â” â” â”
FaceAlign jhb86253817/PIPNet ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ â” â” â” â”
FaceRecognition insightface/ArcFace ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ â” â” â” â”
FaceRecognition insightface/CosFace ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ â” â” â” â”
FaceRecognition insightface/PartialFC ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ â” â” â” â”
FaceRecognition insightface/VPL ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ â” â” â” â”
Matting ZHKKKe/MODNet ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ â” â” â” â”
Matting PeterL1n/RobustVideoMatting ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ â” â” â” â”
Matting PaddleSeg/PP-Matting ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ ✅ â”
Matting PaddleSeg/PP-HumanMatting ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ ✅ â”
Matting PaddleSeg/ModNet ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ â” â” â” â”
Video Super-Resolution PaddleGAN/BasicVSR ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ â” â” â” â”
Video Super-Resolution PaddleGAN/EDVR ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ â” â” â” â”
Video Super-Resolution PaddleGAN/PP-MSVSR ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ â” â” â” â”
Information Extraction PaddleNLP/UIE ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠✅ â” â” â”
NLP PaddleNLP/ERNIE-3.0 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠┠┠✅ ┠✅
Speech PaddleSpeech/PP-TTS ✅ ✅ ✅ ✅ ✅ ✅ ✅ ┠┠-- ┠┠✅

📳 Mobile and Edge Device Deployment

Mobile and Edge Model List(click to fold)
Task Model Size(MB) Linux Android Linux Linux Linux Linux Linux TBD ...
--- --- --- ARM CPU ARM CPU Rockchip NPU
RK3588/RK3568/RK3566
Rockchip NPU
RV1109/RV1126/RK1808
Amlogic NPU
A311D/S905D/C308X
NXP NPU
i.MX 8M Plus
TBD...
Classification PaddleClas/ResNet50 98 ✅ ✅ ✅ ✅
Classification PaddleClas/PP-LCNet 11.9 ✅ ✅ ┠✅ -- -- --
Classification PaddleClas/PP-LCNetv2 26.6 ✅ ✅ ┠✅ -- -- --
Classification PaddleClas/EfficientNet 31.4 ✅ ✅ ┠✅ -- -- --
Classification PaddleClas/GhostNet 20.8 ✅ ✅ ┠✅ -- -- --
Classification PaddleClas/MobileNetV1 17 ✅ ✅ ┠✅ -- -- --
Classification PaddleClas/MobileNetV2 14.2 ✅ ✅ ┠✅ -- -- --
Classification PaddleClas/MobileNetV3 22 ✅ ✅ ┠✅ ┠┠--
Classification PaddleClas/ShuffleNetV2 9.2 ✅ ✅ ┠✅ -- -- --
Classification PaddleClas/SqueezeNetV1.1 5 ✅ ✅ ┠✅ -- -- --
Classification PaddleClas/Inceptionv3 95.5 ✅ ✅ ┠✅ -- -- --
Classification PaddleClas/PP-HGNet 59 ✅ ✅ ┠✅ -- -- --
Detection PaddleDetection/PicoDet_s 4.9 ✅ ✅ ✅ ✅ ✅ ✅ --
Detection YOLOv5 ┠┠✅ ┠┠┠--
Face Detection deepinsight/SCRFD 2.5 ✅ ✅ ✅ -- -- -- --
Keypoint Detection PaddleDetection/PP-TinyPose 5.5 ✅ ✅ ┠┠┠┠--
Segmentation PaddleSeg/PP-LiteSeg(STDC1) 32.2 ✅ ✅ ✅ -- -- -- --
Segmentation PaddleSeg/PP-HumanSeg-Lite 0.556 ✅ ✅ ✅ -- -- -- --
Segmentation PaddleSeg/HRNet-w18 38.7 ✅ ✅ ✅ -- -- -- --
Segmentation PaddleSeg/PP-HumanSeg 107.2 ✅ ✅ ✅ -- -- -- --
Segmentation PaddleSeg/Unet 53.7 ✅ ✅ ✅ -- -- -- --
Segmentation PaddleSeg/Deeplabv3 150 ┠✅ ✅
OCR PaddleOCR/PP-OCRv2 2.3+4.4 ✅ ✅ ┠-- -- -- --
OCR PaddleOCR/PP-OCRv3 2.4+10.6 ✅ ┠┠┠┠┠--

âš›ï¸ Web and Mini Program Model List

Web and mini program model list(click to fold)
Task Model web_demo
--- --- Paddle.js
Detection FaceDetection ✅
Detection ScrewDetection ✅
Segmentation PaddleSeg/HumanSeg ✅
Object Recognition GestureRecognition ✅
Object Recognition ItemIdentification ✅
OCR PaddleOCR/PP-OCRv3 ✅

💠Acknowledge

We sincerely appreciate the open-sourced capabilities in EasyEdge as we adopt it for the SDK generation and download in this project.

Â©ï¸ License

FastDeploy is provided under the Apache-2.0.

S
Description
âš¡ï¸An Easy-to-use and Fast Deep Learning Model Deployment Toolkit for â˜ï¸Cloud 📱Mobile and 📹Edge. Including Image, Video, Text and Audio 20+ main stream scenarios and 150+ SOTA models with end-to-end optimization, multi-platform and multi-framework support.
Readme Apache-2.0 324 MiB
Languages
Python 61.5%
C++ 19.1%
Cuda 17.6%
Go 0.9%
Shell 0.7%
Other 0.1%