0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

低门槛AI部署工具FastDeploy开源!

新机器视觉 ? 来源:新机器视觉 ? 作者:新机器视觉 ? 2022-11-08 14:28 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

人工智能产业应用发展的越来越快,开发者需要面对的适配部署工作也越来越复杂。层出不穷的算法模型、各种架构的AI硬件、不同场景的部署需求(服务器、服务化、嵌入式、移动端等)、不同操作系统和开发语言,为AI开发者项目落地带来不小的挑战。edc63234-5f1e-11ed-8abf-dac502259ad0.png

为了解决AI部署落地难题,我们发起了FastDeploy项目。FastDeploy针对产业落地场景中的重要AI模型,将模型API标准化,提供下载即可运行的Demo示例。相比传统推理引擎,做到端到端的推理性能优化。FastDeploy还支持在线(服务化部署)和离线部署形态,满足不同开发者的部署需求。

经过为期一年的高密度打磨,FastDeploy目前具备三类特色能力:

全场景:支持GPUCPU、Jetson、ARM CPU、瑞芯微NPU、晶晨NPU、恩智浦NPU等多类硬件,支持本地部署、服务化部署、Web端部署、移动端部署等,支持CV、NLP、Speech三大领域,支持图像分类、图像分割、语义分割、物体检测、字符识别(OCR)、人脸检测识别、人像扣图、姿态估计、文本分类、信息抽取、行人跟踪、语音合成等16大主流算法场景。

易用灵活:三行代码完成AI模型的部署,一行API完成模型替换,无缝切换至其他模型部署,提供了150+热门AI模型的部署Demo。

极致高效:相比传统深度学习推理引擎只关注模型的推理时间,FastDeploy则关注模型任务的端到端部署性能。通过高性能前后处理、整合高性能推理引擎、一键自动压缩等技术,实现了AI模型推理部署的极致性能优化。

项目传送门:

https://github.com/PaddlePaddle/FastDeploy

以下将对该3大特性做进一步技术解读,全文大约2100字,预计阅读时长3分钟。

1

3大特性篇

2

3步部署实战篇,抢先看

CPU/GPU部署实战

Jetson部署实战

RK3588部署实战(RV1126、晶晨A311D等NPU类似)

1

3大特性解读

全场景:一套代码云边端多平台多硬件一网打尽,覆盖CV、NLP、Speech

支持PaddleInference、TensorRT、OpenVINO、ONNXRuntime、PaddleLite、RKNN等后端,覆盖常见的NVIDIAGPU、x86CPU、Jetson Nano、Jetson TX2、ARMCPU(移动端、ARM开发板)、Jetson Xavier、瑞芯微NPU(RK3588、RK3568、RV1126、RV1109、RK1808)、晶晨NPU(A311D、S905D)等云边端场景的多类几十款AI硬件部署。同时支持服务化部署、离线CPU/GPU部署、端侧和移动端部署方式。针对不同硬件,统一API保证一套代码在数据中心、边缘部署和端侧部署无缝切换。edd89dc0-5f1e-11ed-8abf-dac502259ad0.jpgFastDeploy支持CV、NLP、Speech三大AI领域,覆盖16大类算法(图像分类、图像分割、语义分割、物体检测、字符识别(OCR) 、人脸检测、人脸关键点检测、人脸识别、人像扣图、视频扣图、姿态估计、文本分类 信息抽取 文图生成、行人跟踪、语音合成)。支持飞桨PaddleClas、PaddleDetection、PaddleSeg、PaddleOCR、PaddleNLP、PaddleSpeech 6大热门AI套件的主流模型,同时也支持生态(如PyTorch、ONNX等)热门模型的部署。ede4faa2-5f1e-11ed-8abf-dac502259ad0.gif ?

易用灵活,三行代码完成模型部署,一行命令快速体验150+热门模型部署

FastDeploy三行代码可完成AI模型在不同硬件上的部署,极大降低了AI模型部署难度和工作量。一行命令切换TensorRT、OpenVINO、Paddle Inference、Paddle Lite、ONNX Runtime、RKNN等不同推理后端和对应硬件。低门槛的推理引擎后端集成方案,平均一周时间即可完成任意硬件推理引擎的接入使用,解耦前后端架构设计,简单编译测试即可体验FastDeploy支持的AI模型。开发者可以根据模型API实现相应模型部署,也可以选择git clone一键获取150+热门AI模型的部署示例Demo,快速体验不同模型的推理部署。

			# PP-YOLOE的部署 import fastdeploy as fd import cv2 model = fd.vision.detection.PPYOLOE("model.pdmodel", "model.pdiparams", "infer_cfg.yml") im = cv2.imread("test.jpg") result = model.predict(im) # YOLOv7的部署 import fastdeploy as fd import cv2 model = fd.vision.detection.YOLOv7("model.onnx") im = cv2.imread("test.jpg") result = model.predict(im)

FastDeploy部署不同模型


			# PP-YOLOE的部署 import fastdeploy as fd import cv2 option = fd.RuntimeOption() option.use_cpu() option.use_openvino_backend() # 一行命令切换使用 OpenVINO部署 model = fd.vision.detection.PPYOLOE("model.pdmodel", "model.pdiparams", "infer_cfg.yml", runtime_option=option) im = cv2.imread("test.jpg") result = model.predict(im)FastDeploy切换后端和硬件
						

极致高效:一键压缩提速,预处理加速,端到端性能优化,提升AI算法产业落地

FastDeploy在吸收TensorRT、OpenVINO、Paddle Inference、Paddle Lite、ONNX Runtime、RKNN等高性能推理优势的同时,通过端到端的推理优化解决了传统推理引擎仅关心模型推理速度的问题,提升整体推理速度和性能。集成自动压缩工具,在参数量大大减小的同时(精度几乎无损),推理速度大幅提升。使用CUDA加速优化预处理和后处理模块,将YOLO系列的模型推理加速整体从41ms优化到25ms。端到端的优化策略,彻底解决AI部署落地中的性能难题。更多性能优化,欢迎关注GitHub了解详情。https://github.com/PaddlePaddle/FastDeployee0f9bea-5f1e-11ed-8abf-dac502259ad0.png

2

3步部署实战篇,抢先看

1

CPU/GPU部署实战(以YOLOv7为例)

安装FastDeploy部署包,下载部署示例(可选,也可以三行API实现部署代码)


			pip install fastdeploy-gpu-python -f https://www.paddlepaddle.org.cn/whl/fastdeploy.html git clone https://github.com/PaddlePaddle/FastDeploy.git cd examples/vision/detection/yolov7/python/
						

准备模型文件和测试图片


			wget https://bj.bcebos.com/paddlehub/fastdeploy/yolov7.onnx wget https://gitee.com/paddlepaddle/PaddleDetection/raw/release/2.4/demo/000000014439.jpg
						

CPU/GPU推理模型


			# CPU推理 python infer.py --model yolov7.onnx --image 000000014439.jpg --device cpu # GPU推理 python infer.py --model yolov7.onnx --image 000000014439.jpg --device gpu # GPU上使用TensorRT推理 python infer.py --model yolov7.onnx --image 000000014439.jpg --device gpu --use_trt True

推理结果示例:

ee3d56b6-5f1e-11ed-8abf-dac502259ad0.png

2

Jetson部署实战(以YOLOv7为例)

安装FastDeploy部署包,配置环境变量


			git clone https://github.com/PaddlePaddle/FastDeploy cd FastDeploy mkdir build && cd build cmake .. ?DBUILD_ON_JETSON=ON ?DENABLE_VISION=ON ?DCMAKE_INSTALL_PREFIX=${PWD}/install make ?j8 make install cd FastDeploy/build/install source fastdeploy_init.sh
						

准备模型文件和测试图片


			wget https://bj.bcebos.com/paddlehub/fastdeploy/yolov7.onnx wget https://gitee.com/paddlepaddle/PaddleDetection/raw/release/2.4/demo/000000014439.jpg
						

编译推理模型


			cd examples/vision/detection/yolov7/cpp cmake .. ?DFASTDEPLOY_INSTALL_DIR=${FASTDEPOLY_DIR} mkdir build && cd build make ?j # 使用TensorRT推理(当模型不支持TensorRT时会自动转成使用CPU推理) ./infer_demo yolov7s.onnx 000000014439.jpg 27s.onnx 000000014439.jpg 2

推理结果示例:

ee534ce6-5f1e-11ed-8abf-dac502259ad0.png

3

RK3588部署实战以轻量化检测网络PicoDet为例)

安装FastDeploy部署包,下载部署示例(可选,也可以三行API实现部署代码)


			# 参考编译文档,完成FastDeploy编译安装 # 参考文档链接:https://github.com/PaddlePaddle/FastDeploy/blob/develop/docs/cn/build_and_install/rknpu2.md # 下载部署示例代码 git clone https://github.com/PaddlePaddle/FastDeploy.git cd examples/vision/detection/paddledetection/rknpu2/python
						

准备模型文件和测试图片


			wget https://bj.bcebos.com/fastdeploy/models/rknn2/picodet_s_416_coco_npu.zip unzip -qo picodet_s_416_coco_npu.zip ## 下载Paddle静态图模型并解压 wget https://bj.bcebos.com/fastdeploy/models/rknn2/picodet_s_416_coco_npu.zip unzip -qo picodet_s_416_coco_npu.zip # 静态图转ONNX模型,注意,这里的save_file请和压缩包名对齐 paddle2onnx --model_dir picodet_s_416_coco_npu --model_filename model.pdmodel --params_filename model.pdiparams --save_file picodet_s_416_coco_npu/picodet_s_416_coco_npu.onnx --enable_dev_version True python -m paddle2onnx.optimize --input_model picodet_s_416_coco_npu/picodet_s_416_coco_npu.onnx --output_model picodet_s_416_coco_npu/picodet_s_416_coco_npu.onnx --input_shape_dict "{'image':[1,3,416,416]}" # ONNX模型转RKNN模型 # 转换模型,模型将生成在picodet_s_320_coco_lcnet_non_postprocess目录下 python tools/rknpu2/export.py --config_path tools/rknpu2/config/RK3588/picodet_s_416_coco_npu.yaml # 下载图片 wget https://gitee.com/paddlepaddle/PaddleDetection/raw/release/2.4/demo/000000014439.jpg
						

推理模型


		python3 infer.py --model_file ./picodet _3588/picodet_3588.rknn --config_file ./picodet_3588/deploy.yaml --image images/000000014439.jpg
		审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    88

    文章

    35760

    浏览量

    282483
  • 人工智能
    +关注

    关注

    1810

    文章

    49221

    浏览量

    251559
  • 深度学习
    +关注

    关注

    73

    文章

    5569

    浏览量

    123089

原文标题:模型部署不再难!低门槛AI部署工具FastDeploy开源!

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    新唐科技推出高效AI MCU部署工具NuML Toolkit

    随着 AI 技术加速导入各类嵌入式系统,如何将训练完成的 AI 模型顺利部署至资源有限的微控制器成为工程师面对的重大挑战。为协助开发者快速落地 AI 方案,新唐科技推出 NuML To
    的头像 发表于 08-01 17:21 ?1292次阅读

    ai_cube训练模型最后部署失败是什么原因?

    ai_cube训练模型最后部署失败是什么原因?文件保存路径里也没有中文 查看AICube/AI_Cube.log,看看报什么错?
    发表于 07-30 08:15

    STM32F769是否可以部署边缘AI

    STM32F769是否可以部署边缘AI
    发表于 06-17 06:44

    RAKsmart服务器如何赋能AI开发与部署

    AI开发与部署的复杂性不仅体现在算法设计层面,更依赖于底层基础设施的支撑能力。RAKsmart服务器凭借其高性能硬件架构、灵活的资源调度能力以及面向AI场景的深度优化,正在成为企业突破算力瓶颈、加速
    的头像 发表于 04-30 09:22 ?364次阅读

    Deepseek海思SD3403边缘计算AI产品系统

    海思SD3403边缘计算AI框架,提供了一套开放式AI训练产品工具包,解决客户低成本AI系统,针对差异化AI 应用场景,自己采集样本数据,进
    发表于 04-28 11:05

    大象机器人携手进迭时空推出 RISC-V 全栈开源六轴机械臂产品

    集成于同一硬件平台。内置RISC-V AI核,接入ONNXRuntime加速框架,可快速部署Transformer、CNN等主流算法,实现视觉跟踪、语音交互与自主决策的一体化应用。 门槛
    发表于 04-25 17:59

    首创开源架构,天玑AI开发套件让端侧AI模型接入得心应手

    基石。 Neuron Studio打造全流程一站式开发体验,为AI应用开发按下加速键 AI 应用的开发瓶颈,从来都不是“点的问题”,而是“链的问题”:开发工具碎片化,调优过程靠手动,单模型分析效率
    发表于 04-13 19:52

    开源AI MPU

    ? (2) CORE-V(OpenHW Group) ? ? 特点 ?:开源RISC-V处理器家族,支持AI加速扩展(如DSP/向量指令)。 ? 代表IP ?:CV32E40P(支持自定义AI协处理器)。 ? 适用场景 ?:
    的头像 发表于 04-02 17:44 ?1745次阅读

    如何部署OpenVINO?工具套件应用程序?

    编写代码并测试 OpenVINO? 工具套件应用程序后,必须将应用程序安装或部署到生产环境中的目标设备。 OpenVINO?部署管理器指南包含有关如何轻松使用部署管理器将应用程序打包并
    发表于 03-06 08:23

    FPGA+AI王炸组合如何重塑未来世界:看看DeepSeek东方神秘力量如何预测......

    合。未来,FPGA将更多地集成到系统级芯片(SoC)中,形成更高效的计算平台。? 开发工具门槛降低:随着高级综合工具(HLS)和AI框架(如NVIDIA Modulus)的发展,FP
    发表于 03-03 11:21

    C#集成OpenVINO?:简化AI模型部署

    什么是OpenVINO 工具套件? OpenVINO 工具套件是一个用于优化和部署人工智能(AI)模型,提升AI推理性能的
    的头像 发表于 02-17 10:03 ?2096次阅读
    C#集成OpenVINO?:简化<b class='flag-5'>AI</b>模型<b class='flag-5'>部署</b>

    添越智创基于 RK3588 开发板部署测试 DeepSeek 模型全攻略

    方法的优缺点与操作要点。 01-使用Ollama工具部署-便捷但有短板 Ollama 是一个开源的大模型服务工具,可以支持最新的deepseek模型,以及Llama 3,Phi 3,M
    发表于 02-14 17:42

    云端AI开发者工具怎么用

    云端AI开发者工具通常包括代码编辑器、模型训练平台、自动化测试工具、代码管理工具等。这些工具不仅降低了A
    的头像 发表于 12-05 13:31 ?645次阅读

    如何在STM32f4系列开发板上部署STM32Cube.AI

    已下载STM32Cube.AI扩展包,但是无法使用,感觉像是没有部署AI模型,我是想要通过摄像头拍照,上传图像后,经过开发板处理器进行AI模型处理识别过后,告诉我识别结果,显示在TFL
    发表于 11-18 09:39

    Arm推出GitHub平台AI工具,简化开发者AI应用开发部署流程

    专为 GitHub Copilot 设计的 Arm 扩展程序,可加速从云到边缘侧基于 Arm 平台的开发。 Arm 原生运行器为部署云原生、Windows on Arm 以及云到边缘侧的 AI
    的头像 发表于 10-31 18:51 ?3414次阅读