# ⚡️FastDeploy

------------------------------------------------------------------------------------------

特性 | 服务器端 | 端侧 | 社区交流

**⚡️FastDeploy**是一款**简单易用**的推理部署工具箱。覆盖业界主流**优质预训练模型**并提供**开箱即用**的开发体验,包括图像分类、目标检测、图像分割、人脸检测、人体关键点识别、文字识别等多任务,满足开发者**多场景**,**多硬件**、**多平台**的快速部署需求。 ## News 📢 * 🔥 2022.8.15 [**⚡️FastDeploy v0.2.0**](https://github.com/PaddlePaddle/FastDeploy/releases/tag/release%2F0.2.0)测试版发布!🎉 * 💎 升级服务器端(CPU/GPU/Jetson)SDK代码架构,速度SOTA * 😊 支持PyTorch模型部署,如YOLOv5、YOLOv6、YOLOv7等热门模型 ## 特性 ### 📦开箱即用的推理部署工具链,支持云边端、多硬件、多平台部署 - 支持 PIP 安装,一行命令快速下载SDK安装包,开箱即用 - 服务器与云端部署: - 跨平台:同时支持 Windows、Linux 操作系统 - 多语言:提供 Python、C++ 多种语言部署示例 - 移动与边缘端侧部署: - 支持 iOS、Android 移动端部署 - 支持 ARM Linux、NVIDIA Jetson 系列等边缘设备 - 覆盖主流AI硬件: - 支持 Intel CPU 系列(含酷睿、至强等) - 支持 ARM CPU 全系(含高通、MTK、RK等) - 支持 NVIDIA GPU 全系(含 A100、V100、T4、Jetson 等) ### 🤗丰富的预置模型与高性能部署示例 #### 服务器与云端(含Jetson) | 任务场景 | 模型 | 大小(MB) | 边缘端 | 服务器/云端 | 服务器/云端 | 服务器/云端 | 服务器/云端 | | ------------------------------- | --------------------------------------------------------- | --------------------- | --------------------------------------- | ------------------------------- | -------------------- | ------------------------- | --------------------- | | ---- | ---- | ---- | [Jetson](./doc/Jetson.md) | [X86 CPU](./doc/) | [GPU]() | [X86 CPU]() | [GPU]() | | ---- | ---- | ---- | Linux | Windows | Linux | Windows | Linux | | Classfication | | | | | | | | | Detection | [NanoDet-Plus](./model_zoo/vision/nanodet_plus/README.md) | 0.95~2.44 | ✅ | ✅ | ✅ | ✅ | ✅ | | | [YOLOR](./model_zoo/vison/yolor/README.md) | | ✅ | ✅ | ✅ | ✅ | ✅ | | | [YOLOX](./model_zoo/vison/yolox/README.md) | | ✅ | ✅ | ✅ | ✅ | ✅ | | | [Scaled-YOLOv4](./model_zoo/vison/scaledyolov4/README.md) | 4.9 | ✅ | ✅ | ✅ | ✅ | ✅ | | | [YOLOv5](./model_zoo/vison/yolov5/README.md) | | ✅ | ✅ | ✅ | ✅ | ✅ | | | [YOLOv5_Lite](./model_zoo/vison/yolov5lite/README.md) | 94.6 | ✅ | ✅ | ✅ | ✅ | ✅ | | | [YOLOv6](./model_zoo/vison/yolov6/README.md) | 4.4 | ✅ | ✅ | ✅ | ✅ | ✅ | | | [YOLOv7](./model_zoo/vison/yolov7/README.md) | 23.3 | ✅ | ✅ | ✅ | ✅ | ✅ | | Face Detection | [UltraFace](./model_zoo/vison/ultraface/README.md) | 1.04~1.1 | ✅ | ✅ | ✅ | ✅ | ✅ | | | [YOLOv5Face](./model_zoo/vison/yolov5face/README.md) | | ✅ | ✅ | ✅ | ✅ | ✅ | | Face Localisation | [RetinaFace](./model_zoo/vison/retinaface/README.md) | 1.7M | ✅ | ✅ | ✅ | ✅ | ✅ | | Face Recognition | [ArcFace](./model_zoo/vison/arcface/README.md) | 1.7 | ✅ | ✅ | ✅ | ✅ | ✅ | | Keypoint Detection | [SCRFD](./model_zoo/vison/scrfd/README.md) | 5.5 | ✅ | ✅ | ✅ | ✅ | ✅ | | Segmentation | [PP-Seg](./model_zoo/vison/ppseg/README.md) | 32.2 | ✅ | ✅ | ✅ | ✅ | ✅ | | OCR | [PP-OCRv1](./model_zoo/vison/ppocrv1/README.md) | 2.3+4.4 | ✅ | ✅ | ✅ | ✅ | ✅ | | | [PP-OCRv2](./model_zoo/vison/ppocrv2/README.md) | 2.3+4.4 | ✅ | ✅ | ✅ | ✅ | ✅ | | | [PP-OCRv3](./model_zoo/vison/ppocrv3/README.md) | 2.4+10.6 | ✅ | ✅ | ✅ | ✅ | ✅ | #### 快速开始(服务器与云端部署) 开发者可以通过pip安装`fastdeploy-python`来获取最新的下载链接 - 环境依赖 python >= 3.6 - 安装方式 ``` pip install fastdeploy-python --upgrade ``` - 使用方式 - 列出FastDeploy当前支持的所有模型 ``` fastdeploy --list_models ``` - 下载模型在具体平台和对应硬件上的部署SDK以及示例 ``` fastdeploy --download_sdk \ --model PP-PicoDet-s_320 \ --platform Linux \ --soc x86 \ --save_dir . ``` - 参数说明 - `list_models`: 列出FastDeploy当前最新支持的所有模型 - `download_sdk`: 下载模型在具体平台和对应硬件上的部署SDK以及示例 - `model`: 模型名,如"PP-PicoDet-s_320",可通过`list_models`查看所有的可选项 - `platform`: 部署平台,支持 Windows/Linux/Android/iOS - `soc`: 部署硬件,支持 x86/x86-NVIDIA-GPU/ARM/Jetson - `save_dir`: SDK下载保存目录 ### 📱轻量化SDK快速实现端侧AI推理部署 | 任务场景 | 模型 | 大小(MB) | 边缘端 | 移动端 | 移动端 | | ------------------ | ---------------------------- | --------------------- | --------------------- | ---------------------- | --------------------- | | ---- | --- | --- | Linux | Android | iOS | | ----- | ---- | --- | ARM CPU | ARM CPU | 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 | ✅ | ✅ | ✅ | #### 边缘侧部署 - 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) #### 移动端部署 - [iOS 系统部署](./docs/iOS-SDK.md) - [Android 系统部署](./docs/Android-SDK.md) #### 自定义模型部署 - [快速实现个性化模型替换](./docs/Replace-Model-With-Anther-One.md) ## 社区交流 - **加入社区👬:** 微信扫描二维码后,填写问卷加入交流群,与开发者共同讨论推理部署痛点问题
## Acknowledge 本项目中SDK生成和下载使用了[EasyEdge](https://ai.baidu.com/easyedge/app/openSource)中的免费开放能力,再次表示感谢。 ## License FastDeploy遵循[Apache-2.0开源协议](./LICENSE)。