/FastDeploy

Easy-to-use Deep Learning Model Deployment Toolkit

Primary LanguagePythonApache License 2.0Apache-2.0

FastDeploy


FastDeploy是一款简单易用的推理部署工具箱。覆盖业界主流优质预训练模型并提供开箱即用的开发体验,包括图像分类、目标检测、图像分割、人脸检测、人体关键点识别、文字识别等多任务,满足开发者多场景多硬件多平台的快速部署需求。

News 📢

  • 🔥 2022.6.30 晚20:30,FastDeploy天使用户邀测沟通会,与开发者共同讨论推理部署痛点问题,欢迎大家扫码报名入群获取会议链接。
  • 🔥 2022.6.27 FastDeploy v0.1.0测试版发布!🎉
    • 💎 发布40个重点模型在8种重点软硬件环境的支持的SDK
    • 😊 支持网页端、pip包两种下载使用方式

特性

📦开箱即用的推理部署工具链,支持云边端、多硬件、多平台部署

  • 网页端点选下载、PIP 安装一行命令,快速下载多种类型SDK安装包
  • 云端(含服务器、数据中心):
    • 支持一行命令启动 Serving 服务(含网页图形化展示)
    • 支持一行命令启动图像、本地视频流、本地摄像头、网络视频流预测
    • 支持 Window、Linux 操作系统
    • 支持 Python、C++ 编程语言
  • 边缘端:
    • 支持 NVIDIA Jetson 等边缘设备,支持视频流预测服务
  • 端侧(含移动端)
    • 支持 iOS、Android 移动端
    • 支持 ARM CPU 端侧设备
  • 支持主流硬件
    • 支持 Intel CPU 系列(含酷睿、至强等)
    • 支持 ARM CPU 全系(含高通、MTK、RK等)
    • 支持 NVIDIA GPU 全系(含 V100、T4、Jetson 等)

🤗丰富的预训练模型,轻松下载SDK搞定推理部署

模型 任务 大小(MB) 端侧 移动端 移动端 边缘端 服务器+云端 服务器+云端 服务器+云端 服务器+云端
----- ---- ----- Linux Android iOS Linux Linux Linux Windows Windows
----- ---- --- ARM CPU ARM CPU ARM CPU Jetson X86 CPU GPU X86 CPU GPU
PP-LCNet Classfication 11.9
PP-LCNetv2 Classfication 26.6
EfficientNet Classfication 31.4
GhostNet Classfication 20.8
MobileNetV1 Classfication 17
MobileNetV2 Classfication 14.2
MobileNetV3 Classfication 22
ShuffleNetV2 Classfication 9.2
SqueezeNetV1.1 Classfication 5
Inceptionv3 Classfication 95.5
PP-HGNet Classfication 59
ResNet50_vd Classfication 102.5
SwinTransformer_224_win7 Classfication 352.7
PP-PicoDet_s_320_coco Detection 4.1
PP-PicoDet_s_320_lcnet Detection 4.9
CenterNet Detection 4.8
YOLOv3_MobileNetV3 Detection 94.6
PP-YOLO_tiny_650e_coco Detection 4.4
SSD_MobileNetV1_300_120e_voc Detection 23.3
YOLOX_Nano_300e_coco Detection 3.7
PP-YOLO_ResNet50vd Detection 188.5
PP-YOLOv2_ResNet50vd Detection 218.7
PP-YOLO_crn_l_300e_coco Detection 209.1
YOLOv5s Detection 29.3
Faster R-CNN_r50_fpn_1x_coco Detection 167.2
BlazeFace Face Detection 1.5
RetinaFace Face Localisation 1.7
PP-TinyPose Keypoint Detection 5.5
PP-LiteSeg(STDC1) Segmentation 32.2
PP-HumanSeg-Lite Segmentation 0.556
HRNet-w18 Segmentation 38.7
Mask R-CNN_r50_fpn_1x_coco Segmentation 107.2
PP-HumanSeg-Server Segmentation 107.2
Unet Segmentation 53.7
Deeplabv3-ResNet50 Segmentation 156.5
PP-OCRv1 OCR 2.3+4.4
PP-OCRv2 OCR 2.3+4.4
PP-OCRv3 OCR 2.4+10.6
PP-OCRv3-tiny OCR 2.4+10.7

SDK安装

方式1:网页版下载安装

方式2:pip安装

开发者可以通过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使用

1 云+服务器部署

2 边缘侧部署

3 端侧部署

4 移动端部署

5 自定义模型部署

社区交流

  • 加入社区👬: 微信扫描二维码后,填写问卷加入交流群,与开发者共同讨论推理部署痛点问题

Acknowledge

本项目中SDK生成和下载使用了EasyEdge中的免费开放能力,再次表示感谢。

License

FastDeploy遵循Apache-2.0开源协议