PaddleX 多硬件模型贡献指南:NPU/XPU/DCU/MLU 模型适配与提交流程全解析

发布时间:2026/10/10 6:00:16

PaddleX 多硬件模型贡献指南:NPU/XPU/DCU/MLU 模型适配与提交流程全解析 人工智能大模型低代码计算机视觉深度学习模型推理服务【免费下载链接】PaddleXAll-in-One Development Tool based on PaddlePaddle项目地址https://gitcode.com/gh_mirrors/pa/PaddleX点击查看免费下载本文以 PaddleX 多硬件模型贡献说明 为骨架结合仓库内设备支持列表、白名单机制与推理引擎源码完整还原确认模型接入 → 核对硬件适配列表 → 提交套件组网代码 → 提交精度复现 Issue的模型贡献闭环并给出可验证的源码依据帮助开发者在飞桨生态中为昇腾 NPU、昆仑 XPU、海光 DCU、寒武纪 MLU 等国产算力平台贡献可用的 PaddleX 模型。PaddleX 是一个基于飞桨PaddlePaddle的 All-in-One 开发工具其底层模型源码分散在 PaddleClas、PaddleDetection、PaddleSeg、PaddleOCR、PaddleTS 等套件中。要让某个模型在特定 AI 芯片NPU/XPU/DCU/MLU 等上被 PaddleX 正式支持需要走一条先套件、后 PaddleX、再文档的规范化贡献流程。读完本文你将掌握如何判断目标模型是否已具备贡献条件、组网代码应提交到哪里、PaddleX 底层如何通过白名单/黑名单控制硬件模型支持以及提交说明 issue 时必须携带哪些可复现精度的信息。1. 贡献模型的整体流程从贡献者视角看为 PaddleX 贡献一个多硬件适配模型通常遵循以下步骤步骤动作目的提交对象1确认目标模型已接入 PaddleX只有已接入的模型才具备适配前提查阅 PaddleX 模型库2核对各硬件适配模型列表判断目标模型是否已在对应硬件上适配过NPU / XPU / DCU / MLU 模型列表3组网代码修改先提交到对应套件模型在硬件上的组网代码变更属于套件职责PaddleClas / PaddleDetection / PaddleSeg / PaddleOCR / PaddleTS4完成适配后提交说明 issue提供可复现精度的软件版本与机器环境信息PaddleX 仓库 issue5官方验证并合入验证通过后合入代码、更新文档模型列表PaddleX 维护团队其中第 2、3 步的边界最容易混淆下面逐一展开。2. 前置检查模型必须已接入 PaddleX且核对硬件适配列表2.1 先确认模型在 PaddleX 中已接入PaddleX 相关模型的源码放置在各个套件中但部分套件和模型并未接入 PaddleX。因此对模型进行适配前务必保证你的模型在 PaddleX 中已经接入当前 PaddleX 模型列表详见 PaddleX 模型库。这一点对应仓库中的实际结构PaddleX 通过paddlex/configs/modules/下的 YAML 配置如image_classification/、object_detection/等目录与paddlex/inference/models/下的推理实现来管理模型一个模型只有同时具备配置与推理链路才可能被硬件适配流程覆盖。2.2 核对目标硬件上的模型适配列表PaddleX 当前公开的多硬件模型适配列表如下贡献前应逐一确认相关模型是否已在对应硬件上完成适配昇腾 NPU 模型列表对应 中文版昆仑 XPU 模型列表对应 中文版海光 DCU 模型列表对应 中文版寒武纪 MLU 模型列表对应 中文版这些文档按模块如图像分类、目标检测、OCR 等列出模型名称、精度指标、模型存储大小与下载链接。以 NPU 列表为例其目录结构按模块组织例如 Image Classification 模块下列出 CLIP、ConvNeXt、MobileNetV1 等模型的 Top-1 精度与存储大小见 model_list_npu.en.md贡献者可以据此判断已适配与待适配的边界。2.3 特殊模型需求提交 issue 告知如果你有特殊的模型需求PaddleX 官方文档建议通过提交 issue 的方式告知维护团队而不是自行推进适配流程。3. 组网代码修改先提交到对应套件如果你适配的模型在相关硬件上涉及模型组网代码的修改请先提交代码到对应的套件中参考各套件的贡献指南PaddleClas图像分类、度量学习等模型PaddleDetection目标检测、实例分割、姿态估计等模型PaddleSeg语义分割等模型PaddleOCR文本检测、文本识别、表格结构等模型PaddleTS时序预测、时序分类、时序异常检测等模型这一分工与仓库结构相互印证paddlex/repo_apis/下存在PaddleClas_api、PaddleDetection_api、PaddleSeg_api、PaddleOCR_api、PaddleTS_api、PaddleVideo_api、Paddle3D_api等目录PaddleX 正是通过 repo_apis 封装各套件能力。因此涉及网络结构、算子层面的硬件适配代码应归属到对应套件仓库PaddleX 侧主要负责设备识别、模型支持校验与推理链路编排。4. PaddleX 侧源码支撑硬件模型支持的判定机制从源码结构看PaddleX 通过设备类型声明 白名单/黑名单 运行时校验三层机制决定某个模型能否在目标硬件上运行。理解这套机制有助于贡献者判断适配完成后需要同步修改哪些代码。4.1 设备类型声明device.py 中定义了 PaddleX 支持的设备类型集合SUPPORTED_DEVICE_TYPE [ cpu, gpu, xpu, npu, mlu, gcu, dcu, iluvatar_gpu, metax_gpu, ]同时提供parse_device解析device_type:device_ids形式的设备字符串、constr_device构造设备字符串、get_default_device探测默认设备等基础工具供推理引擎与流水线统一调用。4.2 白名单 / 黑名单机制PaddleX 模型支持名单 中按设备维护了模型名单白名单设备DCU_WHITELIST、MLU_WHITELIST、XPU_WHITELIST、GCU_WHITELIST、METAX_GPU_WHITELIST—— 只有名单内的模型才被允许在对应硬件上运行黑名单设备NPU_BLACKLIST—— NPU 采用反向约束除黑名单外其余模型默认可运行。以DCU_WHITELIST为例名单内包含 ResNet 系列、PP-LCNet、PP-HGNetV2、PP-YOLOE_plus、RT-DETR-R18、PicoDet、PP-OCRv4、DLinear/RLinear/NLinear 等跨模态模型XPU_WHITELIST则额外覆盖 PP-DocLayout、SLANeXt、PP-FormulaNet、PP-OCRv5 等文档与公式模型。贡献者适配新模型后需要在对应名单中登记模型名。4.3 运行时校验与设备环境设置device.py 中的check_supported_device_type在推理前执行校验def check_supported_device_type(device_type, model_name): ... if device_type dcu: assert model_name in DCU_WHITELIST, ... elif device_type mlu: assert model_name in MLU_WHITELIST, ... elif device_type npu: assert model_name not in NPU_BLACKLIST, ... elif device_type xpu: assert model_name in XPU_WHITELIST, ... elif device_type gcu: assert model_name in GCU_WHITELIST, ...若模型不在支持名单内会抛出形如 The DCU device does not yet supportxxxmodel! 的断言并提示可通过设置环境变量PADDLE_PDX_DISABLE_DEV_MODEL_WL为true临时跳过校验便于本地调试。校验的调用发生在静态图推理引擎的创建阶段PaddleStaticRunner._create中显式调用了check_supported_device_type(self._config[device_type], self._model_name)见 paddle_static/runner.py随后根据设备类型补齐device_id默认值、选择 run_modepaddle/trt/mkldnn并执行模型加载。这意味着贡献者新增模型时还要保证名单校验与推理链路同步生效。另外set_env_for_device_type负责在对应硬件上设置必要的环境变量例如 NPU 会设置FLAGS_npu_jit_compile0、FLAGS_use_stride_kernel0、CUSTOM_DEVICE_BLACK_LIST等XPU 会设置BKCL_FORCE_SYNC1、XPU_PADDLE_CONV_FLOAT1等。如果新适配设备需要特殊环境变量需在此函数中补充对应分支更完整的设备级贡献清单可参考 设备贡献指南其中还涉及 Predictor 设备支持列表 中SUPPORT_DEVICE的更新。5. 提交说明 issue必须携带可复现精度的信息当你完成特定硬件上某款模型的适配工作后需要给 PaddleX 提交一个issue 说明相关信息。维护团队将对模型进行验证确认无问题后合入相关代码并在文档中对模型列表进行更新。相关 issue 需要提供复现模型精度所需的信息至少包含以下两部分内容。5.1 软件版本信息验证模型精度所用到的软件版本包括但不限于信息项说明Paddle 版本用于推理/训练验证的飞桨框架版本PaddleCustomDevice 版本如果有自定义设备接入包版本涉及算子注册与设备后端PaddleX 或对应套件的分支明确代码来源分支保证验证环境与提交代码一致5.2 机器环境信息验证模型精度所用到的机器环境包括但不限于信息项说明芯片型号如具体 NPU/XPU/DCU/MLU 芯片型号系统版本操作系统及版本号硬件驱动版本芯片厂商驱动版本算子库版本等如 CANN、BANG、ROCm、寒武纪算子库等这些信息是维护团队复现精度、核验适配正确性的前提。建议在 issue 中同时给出精度复现的命令与关键日志以加快验证与合入流程。6. 更多文档与延伸阅读关于飞桨多硬件适配与使用还可参考仓库内以下文档PaddleX 多硬件使用指南对应 中文版覆盖昇腾 NPU、寒武纪 MLU、昆仑 XPU、海光 DCU 等平台的飞桨安装、PaddleX Wheel 包/插件安装方式是动手适配前的环境准备参考各硬件专属安装教程如 昇腾 NPU 飞桨安装教程、寒武纪 MLU、昆仑 XPU、海光 DCU设备贡献指南面向新增设备而非新增模型涉及设备接入飞桨后端、白名单与设备列表更新、PR 提交要求等与本文互为补充PaddleX 模型库PaddleX 全部已接入模型的索引。7. 小结为 PaddleX 贡献多硬件模型并非一次性提交而是一条环环相扣的链路先在 PaddleX 模型库 确认模型已接入 → 再核对目标硬件的 模型适配列表 确定适配缺口 → 组网代码变更提交到对应套件 → 完成适配后携带软件版本与机器环境信息提交说明 issue。在 PaddleX 侧模型支持名单 与 设备校验逻辑 共同决定了模型能否在目标硬件上被正式启用贡献者需要让模型名、名单与文档三者同步更新才能完成一次端到端的有效贡献。赞分享人工智能大模型低代码计算机视觉深度学习模型推理服务【免费下载链接】PaddleXAll-in-One Development Tool based on PaddlePaddle项目地址https://gitcode.com/gh_mirrors/pa/PaddleX点击查看免费下载相关推荐PaddleX 多硬件使用指南在 NPU / MLU / XPU / DCU / GCU 上完成安装、推理与模型训练PaddleX 多硬件使用指南在 NPU / MLU / XPU / DCU / GCU 上完成安装、推理与模型训练 本文以 PaddleX 官方《Multi人工智能大模型低代码计算机视觉深度学习NLP模型推理服务RAG微调语音PaddleX 多硬件模型贡献指南从模型适配到精度验证提交流程全解PaddleX 多硬件模型贡献指南从模型适配到精度验证提交流程全解 导读 本指南面向希望在昇腾 NPU、昆仑 XPU、海光 DCU、寒武纪 MLU 等国产 A人工智能大模型低代码计算机视觉深度学习NLP模型推理服务RAG微调语音PaddleX 多硬件设备使用指南Ascend NPU、Cambricon MLU、Kunlun XPU、Hygon DCU 与 Enflame GCU 的安装与推理配置PaddleX 多硬件设备使用指南Ascend NPU、Cambricon MLU、Kunlun XPU、Hygon DCU 与 Enflame GCU 的安人工智能大模型低代码计算机视觉深度学习模型推理服务上一篇DDrawCompat三步上手让黑屏的老DirectDraw游戏在现代Windows上跑起来下一篇iPhone的HEIC照片在Windows打不开5步用免费HEIF Utility一次搞定创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/10 6:00:16

鸿冠特材规模怎么样

以特材之力,铸工业之基——鸿冠特材的规模之路与产业担当 立足特种材料行业,回应时代产业命题在新一轮工业升级与高端制造加速推进的时代背景下,特种合金材料作为石油化工、海洋工程、核电装备、新能源等战略性产业的基础支撑,正扮…

2026/10/10 6:55:18

Kettle 5.x ETL实战手册:从安装到作业调度与性能调优全解析

简介:面向数据抽取、转换与加载(ETL)场景的数据处理人员,这份 Kettle 用户手册聚焦业内常用的 Kettle 数据集成工具中的 Spoon 设计与运行环境,并结合 Kettle 5.x 实际使用步骤与案例,帮助读者快速掌握从各…

2026/10/10 6:55:18

PHP项目接入Consul做服务注册发现的落地实践

前阵子帮一个用PHP写的交易后台做改造,选型的时候直接绕过了ZooKeeper和etcd,最后定了Consul做服务注册发现。十几个服务、几十个实例,IP和端口不再散落在配置文件和.env里,扩缩容和故障摘除都交给Consul处理。今天不聊那些Java程…

2026/10/10 6:55:18

基于PCA9422与PIC18F57K42的低功耗电源管理方案设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 6:55:18

Flutter GridView在OpenHarmony上的实现:参数详解与实战指南

Flutter在OpenHarmony上跑起来这件事,技术圈聊了大半年,真正动手做过的人其实还是少数。尤其是像GridView这种高频组件,很多人第一反应是“直接搬过来用就行”,结果真搬到鸿蒙设备上一测,尺寸、渲染、触摸反馈都藏着不…

2026/10/10 6:55:18

2007-2024上市公司媒体关注度数据处理与实证研究指南

如果一个数据表的年份跨度是2007到2024,名字里又带着“媒体关注”四个字,那十有八九是做公司金融或资产定价方向的人在找的研究样本。我这些年帮人处理过不少类似数据,也看过很多基于这类数据写出来的论文。一个比较普遍的现象是:…

2026/10/10 6:50:18

Windows右键菜单臃肿原因与注册表/命令行/工具三法清理指南

1. 为什么右键菜单会越用越臃肿?这不是你的错,是Windows的“默认哲学”你有没有在资源管理器里点开一个普通文件夹,右键——然后盯着那个长得像菜市场价目表的菜单发呆?“用XX软件打开”“发送到XX网盘”“扫描病毒”“压缩为ZIP”…

2026/10/8 10:03:18

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/9 20:15:56

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/8 6:05:44

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 0:04:53

从逻辑门到计算机:数字电路核心原理与全加器搭建实战

如果你拆过一台旧电脑的主板,盯着那些黑乎乎的小芯片看上一会儿,可能会冒出同一个疑问:这堆引脚密集的元件,到底是怎么“变”出那么复杂的应用的?答案并不在某个神秘的部件里,而是在所有芯片内部都在反复使…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑