Skip to content

Latest commit

History

1,713 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

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/pythonimportcv2importfastdeploy.visionasvisionim=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"intmain(int argc, char* argv[]) {
namespacevision= 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);
return0;
}

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)
TaskModelLinuxLinuxWinWinMacMacLinuxLinuxLinuxLinuxLinuxLinuxLinux
------X86 CPUNVIDIA GPUX86 CPUNVIDIA GPUX86 CPUArm CPUAArch64 CPUPhytium D2000 aarch64NVIDIA JetsonGraphcore IPUkunlunxin XPUHuawei AscendServing
ClassificationPaddleClas/ResNet50
ClassificationTorchVison/ResNet
Classificationltralytics/YOLOv5Cls
ClassificationPaddleClas/PP-LCNet
ClassificationPaddleClas/PP-LCNetv2
ClassificationPaddleClas/EfficientNet
ClassificationPaddleClas/GhostNet
ClassificationPaddleClas/MobileNetV1
ClassificationPaddleClas/MobileNetV2
ClassificationPaddleClas/MobileNetV3
ClassificationPaddleClas/ShuffleNetV2
ClassificationPaddleClas/SqueeezeNetV1.1
ClassificationPaddleClas/Inceptionv3
ClassificationPaddleClas/PP-HGNet
DetectionPaddleDetection/PP-YOLOE+
Detection🔥PaddleDetection/YOLOv8
Detection🔥ultralytics/YOLOv8
DetectionPaddleDetection/PicoDet
DetectionPaddleDetection/YOLOX
DetectionPaddleDetection/YOLOv3
DetectionPaddleDetection/PP-YOLO
DetectionPaddleDetection/PP-YOLOv2
DetectionPaddleDetection/Faster-RCNN
DetectionPaddleDetection/Mask-RCNN
DetectionMegvii-BaseDetection/YOLOX
DetectionWongKinYiu/YOLOv7
DetectionWongKinYiu/YOLOv7end2end_trt
DetectionWongKinYiu/YOLOv7end2end_ort
Detectionmeituan/YOLOv6
Detectionultralytics/YOLOv5
DetectionWongKinYiu/YOLOR
DetectionWongKinYiu/ScaledYOLOv4
Detectionppogg/YOLOv5Lite?
DetectionRangiLyu/NanoDetPlus
KeyPointPaddleDetection/TinyPose
KeyPointPaddleDetection/PicoDet + TinyPose
HeadPoseomasaht/headpose
TrackingPaddleDetection/PP-Tracking
OCRPaddleOCR/PP-OCRv2
OCRPaddleOCR/PP-OCRv3
SegmentationPaddleSeg/PP-LiteSeg
SegmentationPaddleSeg/PP-HumanSegLite
SegmentationPaddleSeg/HRNet
SegmentationPaddleSeg/PP-HumanSegServer
SegmentationPaddleSeg/Unet
SegmentationPaddleSeg/Deeplabv3
FaceDetectionbiubug6/RetinaFace
FaceDetectionLinzaer/UltraFace
FaceDetectiondeepcam-cn/YOLOv5Face
FaceDetectioninsightface/SCRFD
FaceAlignHsintao/PFLD
FaceAlignSingle430/FaceLandmark1000
FaceAlignjhb86253817/PIPNet
FaceRecognitioninsightface/ArcFace
FaceRecognitioninsightface/CosFace
FaceRecognitioninsightface/PartialFC
FaceRecognitioninsightface/VPL
MattingZHKKKe/MODNet
MattingPeterL1n/RobustVideoMatting
MattingPaddleSeg/PP-Matting
MattingPaddleSeg/PP-HumanMatting
MattingPaddleSeg/ModNet
Video Super-ResolutionPaddleGAN/BasicVSR
Video Super-ResolutionPaddleGAN/EDVR
Video Super-ResolutionPaddleGAN/PP-MSVSR
Information ExtractionPaddleNLP/UIE
NLPPaddleNLP/ERNIE-3.0
SpeechPaddleSpeech/PP-TTS--

📳 Mobile and Edge Device Deployment

Mobile and Edge Model List(click to fold)
TaskModelSize(MB)LinuxAndroidLinuxLinuxLinuxLinuxLinuxTBD ...
---------ARM CPUARM CPURockchip NPU
RK3588/RK3568/RK3566
Rockchip NPU
RV1109/RV1126/RK1808
Amlogic NPU
A311D/S905D/C308X
NXP NPU
i.MX 8M Plus
TBD...
ClassificationPaddleClas/ResNet5098
ClassificationPaddleClas/PP-LCNet11.9------
ClassificationPaddleClas/PP-LCNetv226.6------
ClassificationPaddleClas/EfficientNet31.4------
ClassificationPaddleClas/GhostNet20.8------
ClassificationPaddleClas/MobileNetV117------
ClassificationPaddleClas/MobileNetV214.2------
ClassificationPaddleClas/MobileNetV322--
ClassificationPaddleClas/ShuffleNetV29.2------
ClassificationPaddleClas/SqueezeNetV1.15------
ClassificationPaddleClas/Inceptionv395.5------
ClassificationPaddleClas/PP-HGNet59------
DetectionPaddleDetection/PicoDet_s4.9--
DetectionYOLOv5--
Face Detectiondeepinsight/SCRFD2.5--------
Keypoint DetectionPaddleDetection/PP-TinyPose5.5--
SegmentationPaddleSeg/PP-LiteSeg(STDC1)32.2--------
SegmentationPaddleSeg/PP-HumanSeg-Lite0.556--------
SegmentationPaddleSeg/HRNet-w1838.7--------
SegmentationPaddleSeg/PP-HumanSeg107.2--------
SegmentationPaddleSeg/Unet53.7--------
SegmentationPaddleSeg/Deeplabv3150
OCRPaddleOCR/PP-OCRv22.3+4.4--------
OCRPaddleOCR/PP-OCRv32.4+10.6--

⚛️ Web and Mini Program Model List

Web and mini program model list(click to fold)
TaskModelweb_demo
------Paddle.js
DetectionFaceDetection
DetectionScrewDetection
SegmentationPaddleSeg/HumanSeg
Object RecognitionGestureRecognition
Object RecognitionItemIdentification
OCRPaddleOCR/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.

About

⚡️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.

Resources

Code of conduct

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages