海外访问:www.kdjingpai.com
Ctrl + D 收藏本站

FastDeploy 是由 PaddlePaddle 团队开发的一个开源工具,专注于快速部署深度学习模型。它支持多种硬件和框架,覆盖图像、视频、文本和语音等20多种场景,包含150多个主流模型。FastDeploy 提供生产环境开箱即用的部署方案,简化开发流程,提升推理性能。它支持从云端到移动设备和边缘设备的部署,适合企业和开发者快速实现AI应用。项目采用 Apache-2.0 许可证,社区活跃,文档齐全,适合追求高效部署的开发者使用。

 

功能列表

  • 支持多种硬件:包括 NVIDIA GPU、昆仑芯 XPU、昇腾 NPU、RK3588 等,适配多种芯片。
  • 多种模型支持:覆盖图像分类、目标检测、OCR、语音合成等20多种场景,支持150+模型。
  • 高效推理加速:提供量化支持(如 W8A16、FP8)、推测解码、多 token 预测等技术。
  • 生产环境开箱即用:支持 vLLM 和 OpenAI API,简化服务部署。
  • 可视化部署:结合 VisualDL,支持模型配置修改、性能监控和服务管理。
  • 跨平台部署:支持云端、移动端、边缘设备和网页端部署。
  • 灵活的编译选项:开发者可根据需求选择后端模块,减少资源占用。

使用帮助

安装流程

FastDeploy 提供 Python 和 C++ 的安装方式,适合不同开发需求。以下以 Python 安装为例,基于 Ubuntu 系统。用户需确保系统已安装 Python 3.6+ 和基础依赖。

  1. 准备环境
    安装必要依赖:

    sudo apt update
    sudo apt install -y python3 python3-dev python3-pip gcc python3-opencv python3-numpy
    

建议使用虚拟环境(如 conda)隔离依赖:

conda create -n fastdeploy python=3.8
conda activate fastdeploy
  1. 安装 PaddlePaddle
    FastDeploy 依赖 PaddlePaddle 框架,安装开发版:

    python -m pip install paddlepaddle==0.0.0 -f https://www.paddlepaddle.org.cn/whl/linux/cpu-mkl/develop.html
    
  2. 安装 FastDeploy
    可通过 pip 安装预编译包:

    pip install fastdeploy-python -f https://www.paddlepaddle.org.cn/whl/fastdeploy.html
    

    或从源码编译:

    git clone https://github.com/PaddlePaddle/FastDeploy.git
    cd FastDeploy/python
    export ENABLE_ORT_BACKEND=ON
    export ENABLE_PADDLE_BACKEND=ON
    export ENABLE_VISION=ON
    python setup.py build
    python setup.py bdist_wheel
    pip install dist/fastdeploy_python-*-linux_x86_64.whl
    

    如果编译 RK3588 等设备,需设置 ENABLE_RKNPU2_BACKEND=ON 和 RKNN2_TARGET_SOC=RK3588

  3. 验证安装
    安装完成后,运行示例代码验证:

    import fastdeploy
    print(fastdeploy.__version__)
    

功能操作流程

1. 模型部署

FastDeploy 支持一键部署多种模型。以目标检测模型为例,运行 PaddleDetection 模型:

from fastdeploy.vision import detection
model = detection.PaddleDetectionModel(
model_file="ppyoloe_crn_l_300e_coco/model.pdmodel",
params_file="ppyoloe_crn_l_300e_coco/model.pdiparams",
config_file="ppyoloe_crn_l_300e_coco/infer_cfg.yml"
)
result = model.predict("000000014439.jpg")
print(result)

用户需下载模型文件(如 ppyoloe_crn_l_300e_coco.tgz)并解压,文件可从官方链接获取。

2. 硬件适配

FastDeploy 支持多硬件部署。例如,在 RK3588 上部署:

cd demos/vision/detection/paddledetection/rknpu2/python
python infer.py --model_file picodet_s_416_coco_lcnet_rk3588.rknn \
--config_file picodet_s_416_coco_lcnet/infer_cfg.yml \
--image 000000014439.jpg

确保设备已安装对应驱动(如 rknpu2)。

3. 推理加速

FastDeploy 提供多种加速技术。例如,使用量化技术(W8A16):

model.enable_quantization("W8A16")

或启用推测解码:

model.enable_speculative_decoding()

这些功能显著提升推理速度,适合高性能需求场景。

4. 可视化部署

结合 VisualDL,用户可通过 Web 界面管理模型:

  • 启动 VisualDL 服务:
    visualdl --model-dir model_path --host 0.0.0.0 --port 8040
    
  • 在浏览器访问 http://localhost:8040,调整模型配置、监控性能。

5. 文档支持

FastDeploy 提供详细文档,位于 <FastDeploy>/docs 目录或 GitHub 仓库。用户可参考:

  • 模型支持列表:<FastDeploy>/docs/supported_models.md
  • 硬件适配指南:<FastDeploy>/docs/cn/build_and_install

注意事项

  • 确保硬件驱动已安装,如 RK3588 的 rknpu2 驱动。
  • 内存不足可能导致编译失败,建议为 RK3588 添加至少 4GB 交换分区。
  • 项目更新频繁,建议定期检查 GitHub 最新版本。

应用场景

  1. 智能安防
    FastDeploy 可部署目标检测和人脸识别模型,用于监控系统。开发者可快速在边缘设备(如 RK3588)上运行 PaddleDetection 模型,实时检测异常行为。
  2. 智能零售
    支持 OCR 和图像分类模型,适用于客流统计和商品识别。零售商可通过 FastDeploy 在移动设备上部署模型,分析顾客行为。
  3. 工业自动化
    在生产线中使用 FastDeploy 部署图像分割模型,检测产品质量。支持多硬件适配,适合工厂复杂环境。
  4. 语音交互
    部署语音合成模型,实现智能客服或语音助手。FastDeploy 的多 token 预测技术提升语音生成速度。

QA

  1. FastDeploy 支持哪些硬件?
    支持 NVIDIA GPU、昆仑芯 XPU、昇腾 NPU、RK3588、Iluvatar GPU 等,部分硬件如 MetaX GPU 正在适配中。
  2. 如何切换推理后端?
    通过设置环境变量(如 ENABLE_ORT_BACKEND=ON)或在代码中指定后端(如 model.set_backend("paddle"))切换推理引擎。
  3. FastDeploy 是否支持网页部署?
    是的,通过 Paddle.js 支持网页和小程序部署,详见 <FastDeploy>/docs/web_deployment.md
  4. 遇到内存不足怎么办?
    在编译时可限制任务数(如 python setup.py build -j 4),或为设备添加交换分区。
0已收藏
0已赞

相关推荐

找不到AI工具?在这试试!

输入关键词,即可 无障碍访问 必应 搜索,快速找到本站所有 AI 工具。

回顶部

zh_CN简体中文