English | 简体中文 | हिन्दी | 日本語 | 한국인 | Pу́сский язы́к
설치 | 문서 사용하기 | 빠른 시작 | API문서 | 로그 업데이트
⚡Fastdeploy 장면쉽게 유연 한 극,효율적 AI 추리 도구 가 배치 돼 있다.📦 제공 개표 즉의구름을 단부처 체험 지원 넘 🔥 160 +text,비전,speech과다른 모드모델 🔚 실현에 차 려 단'의 추리 성능 최적화 한다.이미지 분류, 객체 검출, 이미지 분할, 얼굴 검출, 얼굴 인식, 포인트 검출, 퍼팅, OCR, NLP, TTS 등의 작업을 포함하고 있어 개발자의다중 장면, 다중 하드웨어, 다중 플랫폼을 위한 산업 배치 요구를 충족시킨다.
-
✨✨✨ 2023.01.17 fastdeploy 시리즈의YOLOv8 하드웨어 배포 지원을 공개하였다.그 중에는Paddle YOLOv8그리고커뮤니티 ultralytics YOLOv8
- Paddle YOLOv8 을 배포할 수 있는 하드웨어:Intel CPU、NVIDIA GPU、Jetson、Phytium、KunlunXin、Huawei Ascend、ARM CPU, 포함Python 배치 와 C++ 배치;계산 할 수TPU 와 RK3588 업데이트 중
- 커뮤니티 ultralytics YOLOv8 을 배포할 수 있는 하드웨어:Intel CPU、NVIDIA GPU、Jetson, 포함Python 배치 와 C++ 배치;
- YOLOv8, PP-YOLOE+, YOLOv5 와 같은 모델의 성능을 비교하기 위해 fastdeploy 모델 api 전환
-
✨👥✨ 지역 사회 교류
-
Slack:Join our Slack community and chat with other community members about ideas
-
WeChat: 차원 코드를 스캔하고 설문지를 기입하여 기술커뮤니티에 가입하며 커뮤니티 개발자와 교류하고 산업전달통점 문제를 배치한다
-
- ✴️ Python SDK 빠른 시작
- ✴️ C++ SDK 빠른 시작
- 문서 설치
- 빠른 사용
- 백엔드 사용
- 서비스화 배치
- API 문서
- 성능 개선
- 늘 보는 질문
- 더 많은FastDeploy 배포 모듈
- 모델 지원 목록
- 💕개발자 기여금
Python SDK 빠른 시작(열림 수축)
- CUDA >= 11.2、cuDNN >= 8.0、Python >= 3.6
- OS: Linux x86_64/macOS/Windows 10
pip install numpy opencv-python 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
pip install numpy opencv-python fastdeploy-python -f https://www.paddlepaddle.org.cn/whl/fastdeploy.html
- 모형과 그림을 준비하다
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
- 추리 결과를 테스트하다
# GPU/TensorRT 배치, 참조 examples/vision/detection/paddledetection/python
import cv2
import fastdeploy.vision as vision
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")
im = cv2.imread("000000014439.jpg")
result = model.predict(im)
print(result)
vis_im = vision.vis_detection(im, result, score_threshold=0.5)
cv2.imwrite("vis_image.jpg", vis_im)
C++ SDK 빠른 시작 (클릭을 하여 자세한 상황을 살펴보기)
- 모형과 그림을 준비하다
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
- 추리 결과를 테스트하다
// GPU/TensorRT배치, 참조 examples/vision/detection/paddledetection/cpp
#include "fastdeploy/vision.h"
int main(int argc, char* argv[]) {
namespace vision = fastdeploy::vision;
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");
auto im = cv::imread("000000014439.jpg");
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;
}
더 많은 배치 사례를 참고하시기 바랍니다모델 배포 예제 .
부호 설명: (1) ✅: 지원 되여 있어야 한다; (2) ❔:진행 중이다; (3) N/A:지원되지 않습니다;
서비스 모델 지원 목록 (누르면 축소 가능)
작업 장면 | 모형 | Linux | Linux | Win | Win | Mac | Mac | Linux | Linux | Linux | Linux | Linux |
---|---|---|---|---|---|---|---|---|---|---|---|---|
--- | --- | X86 CPU | NVIDIA GPU | X86 CPU | NVIDIA GPU | X86 CPU | Arm CPU | AArch64 CPU | Phytium D2000CPU | NVIDIA Jetson | Graphcore IPU | Serving |
Classification | PaddleClas/ResNet50 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Classification | TorchVison/ResNet | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ |
Classification | ultralytics/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 | Single430FaceLandmark1000 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ✅ | ❔ | ❔ |
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 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ | -- | ✅ |
측면 모델 지원 목록 (누르면 축소 가능)
작업 장면 | 모형 | 크기(MB) | Linux | Android | Linux | Linux | Linux | Linux | Linux | TBD... |
---|---|---|---|---|---|---|---|---|---|---|
--- | --- | --- | ARM CPU | ARM CPU | Rockchip-NPU RK3568/RK3588 |
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_demo |
---|---|---|
--- | --- | Paddle.js |
Detection | FaceDetection | ✅ |
Detection | ScrewDetection | ✅ |
Segmentation | PaddleSeg/HumanSeg | ✅ |
Object Recognition | GestureRecognition | ✅ |
Object Recognition | ItemIdentification | ✅ |
OCR | PaddleOCR/PP-OCRv3 | ✅ |
이 프로젝트의 SDK 생성 및 다운로드는 EasyEdge 의 무료 오픈 기능을 사용하여 진행되었습니다. 이에 감사드립니다.
Fastdeploy 컴플라이언스 Apache e-2.0 오픈 소스 프로토콜