- 人工智能
- 大模型
- 低代码
- 计算机视觉
- 深度学习
- NLP
- 模型推理服务
- RAG
【免费下载链接】PaddleX
All-in-One Development Tool based on PaddlePaddle
本文以仓库文档 docs/support_list/pipelines_list_dcu.md 为骨架,结合 DCU 模型列表、海光 DCU 飞桨安装教程、PaddleX 多硬件使用指南 及产线配置文件编写,全面梳理 PaddleX 在海光 DCU(深度学习计算单元)上的产线支持现状。
PaddleX 是飞桨(PaddlePaddle)生态下的全流程低代码开发工具,支持在 CPU/GPU 之外的多种国产硬件上运行。本文聚焦海光 DCU(Hygon Deep Computing Unit):当前官方开放的是通用图像分类与通用语义分割两条基础产线,特色产线暂未开放。读完本文,你将掌握 DCU 上可用产线的功能边界、对应模型与配置细节,并能够完成 DCU 环境搭建、飞桨安装与产线推理的完整实践。
一、文档定位:PaddleX 的 DCU 产线支持矩阵
在 docs/support_list/ 目录下,PaddleX 为每种硬件维护了独立的产线与模型支持列表,包括 NPU、XPU、MLU、DCU、GCU 等。pipelines_list_dcu.md即海光 DCU 专属的产线支持清单,它与通用版本 pipelines_list.md 形成对照——后者列出全部产线,而 DCU 版本只列出当前在 DCU 上经过验证、可稳定运行的产线,帮助开发者在国产化硬件选型时快速判断能力边界。
从文档结构看,DCU 产线清单分为两部分:
- 基础产线(第 1 节):通用图像分类、通用语义分割;
- 特色产线(第 2 节):当前状态为「暂不支持,敬请期待」。
这种「基础产线先行、特色产线逐步开放」的节奏,也是 PaddleX 在国产硬件上分批适配的普遍模式(MLU 版本同样只开放了图像分类、目标检测、语义分割、通用 OCR、时序预测等基础产线,见 pipelines_list_mlu.md)。
二、基础产线总览
DCU 基础产线汇总如下表(继承自 pipelines_list_dcu.md):
| 产线名称 | 产线模块 | 星河社区体验 | 产线介绍 | 适用场景 |
|---|---|---|---|---|
| 通用图像分类 | 图像分类 | 在线体验 | 图像分类是一种将图像分配到预定义类别的技术,广泛应用于物体识别、场景理解和自动标注等领域。通过深度学习模型自动提取图像特征并进行准确分类。 | 商品图片的自动分类和识别;流水线上不合格产品的实时监控;安防监控中人员的识别 |
| 通用语义分割 | 语义分割 | 在线体验 | 语义分割将图像中的每个像素分配到特定类别,实现对图像内容的精细化理解;典型方法包括 FCN、U-Net 等基于 CNN 的像素级分类。 | 地理信息系统中卫星图像的分析;机器人视觉中障碍物与通行区域的分割;电影制作中前景和背景的分离 |
两条产线均可在星河社区(AI Studio)在线体验,也可以基于本文后续介绍的流程在本地 DCU 上部署推理。
三、通用图像分类产线详解
3.1 产线能力
通用图像分类产线负责「给定一张图像,输出其所属预定义类别」的分类任务,是计算机视觉中最基础、使用面最广的能力之一。在 DCU 上,它面向的典型场景包括:
- 商品图片的自动分类与识别:电商与零售场景中按品类归档商品图;
- 流水线质检:实时识别产线上不合格产品;
- 安防监控:对监控画面中的人员类型进行识别。
3.2 产线默认配置解读
仓库中该产线的默认配置位于 paddlex/configs/pipelines/image_classification.yaml,内容如下:
pipeline_name: image_classification SubModules: ImageClassification: module_name: image_classification model_name: PP-LCNet_x0_5 model_dir: null batch_size: 4 topk: 5各字段含义:
pipeline_name:产线名称,也是 CLI / Python API 中引用该产线的标识;SubModules.ImageClassification:该产线由图像分类模块构成,module_name对应模块注册名;model_name:默认使用的模型,仓库默认配置为轻量级模型PP-LCNet_x0_5,兼顾精度与推理开销;model_dir:自定义模型目录,默认null表示使用官方预训练模型;训练调优后可在此填入导出模型的本地路径;batch_size:批大小,默认 4,可按 DCU 显存与吞吐需求调整;topk:返回置信度最高的前 k 个类别,默认 5。
3.3 DCU 可用的图像分类模型
根据 model_list_dcu.md,DCU 上可用的图像分类模型如下(精度为 ImageNet-1k 验证集 Top1 Acc):
| 模型名称 | Top1 Acc(%) | 模型存储大小(MB) |
|---|---|---|
| ResNet18 | 71.0 | 41.5 |
| ResNet34 | 74.6 | 77.3 |
| ResNet50 | 76.5 | 90.8 |
| ResNet101 | 77.6 | 158.7 |
| ResNet152 | 78.3 | 214.2 |
| PP-LCNet_x1_0 | 71.32 | 10.5 |
可以看到,DCU 模型列表同时覆盖了 ResNet 系列高精度模型与 PP-LCNet 轻量模型,开发者可以依据「更重精度 or 更小存储」的实际诉求做取舍。模型的推理模型 / 训练模型下载入口,均以表格形式列在 model_list_dcu.md 中。图像分类模块的完整使用教程(数据准备、训练、评估、推理)可参考 docs/module_usage/tutorials/cv_modules/image_classification.md。
四、通用语义分割产线详解
4.1 产线能力
语义分割将图像中每一个像素都归类到语义类别,输出像素级标签图(label map)。相比分类与检测,它能给出精细到像素的边界,典型方法包括 FCN、U-Net 等。在 DCU 上,官方列出的适用场景为:
- 遥感与 GIS:卫星图像中的地物分析;
- 机器人视觉:障碍物与可通行区域的分割;
- 影视制作:前景与背景的分离。
4.2 产线默认配置解读
默认配置位于 paddlex/configs/pipelines/semantic_segmentation.yaml:
pipeline_name: semantic_segmentation SubModules: SemanticSegmentation: module_name: semantic_segmentation model_name: PP-LiteSeg-T model_dir: null batch_size: 1 target_size: None其中:
model_name默认取PP-LiteSeg-T,这是飞桨自研的轻量实时分割模型,适合在 DCU 上以较低资源开销完成分割推理;batch_size默认 1,分割任务输入为高分辨率图像时建议保持小批;target_size默认None,表示按模型内置预处理规格缩放输入,也可显式指定(如[512, 512])控制输入分辨率。
4.3 DCU 可用的语义分割模型
来自 model_list_dcu.md,精度为 Cityscapes 验证集 mIoU:
| 模型名称 | mIoU(%) | 模型存储大小(MB) |
|---|---|---|
| Deeplabv3_Plus-R50 | 80.36 | 94.9 |
| Deeplabv3_Plus-R101 | 81.10 | 162.5 |
| PP-LiteSeg-T | 77.04 | 31 |
若追求极致精度可选 Deeplabv3_Plus 系列,若追求轻量与速度可选 PP-LiteSeg-T。语义分割模块的完整教程见 docs/module_usage/tutorials/cv_modules/semantic_segmentation.md。
五、特色产线支持状态
在 pipelines_list_dcu.md 的第 2 节「特色产线」中,DCU 当前状态明确标注为:
暂不支持,敬请期待!
也就是说,诸如文档场景信息抽取(PP-ChatOCRv3/v4)、通用 OCR、表格识别、时序预测/异常检测/分类、小目标检测、开放词汇检测/分割等特色产线,目前尚未列入 DCU 官方支持清单。若业务强依赖这些产线,建议先评估 CPU/GPU 环境(对应清单见 pipelines_list.md),或持续关注 PaddleX 后续的 DCU 适配进展。
六、DCU 环境准备:飞桨 DCU 版安装
在运行任何产线之前,需要先完成海光 DCU 环境与飞桨 DCU 版安装。以下步骤摘录自 海光 DCU 飞桨安装教程。
6.1 硬件与镜像前提
当前 PaddleX 支持海光 Z100 系列芯片。由于环境差异较大,官方推荐直接使用飞桨发布的海光 DCU 开发镜像——该镜像预装了海光 DCU 基础运行环境库(DTK),可省去繁琐的底层驱动配置。镜像仅作为开发环境,不包含预编译的飞桨安装包。
6.2 拉取镜像并启动容器
docker pull ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddle-dcu:dtk24.04.1-kylinv10-gcc82启动容器时,建议开启共享内存、宿主网络与特权模式等配置,参考命令如下:
docker run -it --name paddle-dcu-dev -v `pwd`:/work \ -w=/work --shm-size=128G --network=host --privileged \ --cap-add=SYS_PTRACE --security-opt seccomp=unconfined \ ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddle-dcu:dtk24.04.1-kylinv10-gcc82 /bin/bash其中--shm-size=128G保证 DataLoader 等并行数据加载不会因共享内存不足而失败,--privileged与 SYS_PTRACE 相关参数用于保证 DCU 设备访问与调试能力。
6.3 安装飞桨 DCU 版 wheel 包
在容器内执行(注意:飞桨框架 DCU 版仅支持海光 C86 架构):
pip install paddlepaddle-dcu -i https://www.paddlepaddle.org.cn/packages/nightly/dcu安装完成后运行自检:
python -c "import paddle; paddle.utils.run_check()"预期输出:
PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now.看到该提示即代表飞桨已在 DCU 上正确安装并可正常执行算子。
七、在 DCU 上使用 PaddleX 产线
7.1 安装 PaddleX
飞桨安装完成后,安装 PaddleX 本体。PaddleX 提供两种安装模式(详见 多硬件使用指南):
- Wheel 包安装:面向「模型推理与集成」,安装后可直接对 PaddleX 支持的模型做推理;
- 插件安装:面向「二次开发」,通过
paddlex --install PaddleXXX安装对应插件(如 PaddleOCR、PaddleClas、PaddleSeg、PaddleDetection、PaddleTS 等)后,可进一步进行模型训练。
以源码 + 插件模式为例:
git clone https://gitcode.com/paddlepaddle/PaddleX cd PaddleX pip install -e . paddlex --install PaddleClas PaddleSeg # 按需安装插件,不填名称则安装全部7.2 使用方式与 GPU 完全一致,仅需指定 device
PaddleX 的多硬件使用原则是:使用方式与 GPU 一致,只需把设备参数修改为对应硬件。在 DCU 上即device="dcu"(或dcu:0指定卡号)。以通用图像分类产线为例:
命令行方式:
paddlex --pipeline image_classification --input demo.jpg --device dcu:0Python 脚本方式:
from paddlex import create_pipeline pipeline = create_pipeline(pipeline="image_classification", device="dcu:0") output = pipeline.predict("demo.jpg") for res in output: res.print() res.save_to_img("./output/")create_pipeline会按 image_classification.yaml 的默认配置(PP-LCNet_x0_5、topk=5)自动装载模型并调度到 DCU 上执行。语义分割产线同理,将pipeline="semantic_segmentation"即可。
7.3 单模型二次开发(微调与推理)
若对预训练模型效果不满意,可基于产线包含的模块做单模型微调。训练时通过-o Global.device=dcu指定设备,多卡可写dcu:0,1,2,3:
# 训练 python main.py -c paddlex/configs/modules/image_classification/PP-LCNet_x1_0.yaml \ -o Global.mode=train \ -o Global.dataset_dir=./dataset/cls_dataset \ -o Global.device=dcu:0 # 推理 python main.py -c paddlex/configs/modules/image_classification/PP-LCNet_x1_0.yaml \ -o Global.mode=predict \ -o Predict.model_dir="./output/best_model/inference" \ -o Predict.input="demo.jpg" \ -o Global.device=dcu以 PP-LCNet_x1_0.yaml 为例,单模型配置中还包含Train.num_classes、Train.epochs_iters、Train.learning_rate、Train.pretrain_weight_path等训练参数,以及Export.weight_path、Predict.model_dir、Predict.kernel_option.run_mode等导出与推理参数,可按需通过-o覆盖。语义分割单模型配置见 PP-LiteSeg-T.yaml。产线的完整开发指南(含更多产线的配置、训练与部署流程)可参考 docs/pipeline_usage/pipeline_develop_guide.md。
八、DCU 支持的模型清单速览
虽然 DCU 基础产线目前只开放了图像分类与语义分割,但 model_list_dcu.md 展示的模块级模型支持面更宽,以下模块的模型均标注了 DCU 可用的推理/训练下载入口,可用于模块级推理或二次开发(指标口径均以该文档为准):
| 模块 | 代表模型 | 关键指标 |
|---|---|---|
| 图像分类 | ResNet18/34/50/101/152、PP-LCNet_x1_0 | ImageNet-1k Top1 Acc 71.0%~78.3% |
| 图像多标签分类 | CLIP_vit_base_patch16_448_ML、PP-HGNetV2-B0/B4/B6_ML | COCO2017 多标签 mAP |
| 图像特征 | PP-ShiTuV2_rec_CLIP_vit_base | AliProducts recall@1 88.69% |
| 目标检测 | PicoDet-XS/S/M/L、PP-YOLOE_plus-S/M/L/X、RT-DETR-R18、FCOS-ResNet50、YOLOX-N、FasterRCNN-ResNet34-FPN、YOLOv3-DarkNet53、Cascade-FasterRCNN-ResNet50-FPN | COCO2017 mAP(0.5:0.95) 26.1%~54.7% |
| 小目标检测 | PP-YOLOE_plus_SOD-S/L/largesize-L | VisDrone-DET mAP |
| 语义分割 | Deeplabv3_Plus-R50/R101、PP-LiteSeg-T | Cityscapes mIoU 77.04%~81.10% |
| 异常检测 | STFPM | MVTec AD 平均异常分数 96.2% |
| 人脸检测 | PicoDet_LCNet_x2_5_face | WIDER-FACE AP |
| 文本检测 | PP-OCRv4_mobile_det / server_det | PaddleOCR 自建中文数据集 Hmean |
| 文本识别 | PP-OCRv4_mobile_rec / server_rec | PaddleOCR 自建中文数据集 Accuracy |
| 时序预测 | DLinear、NLinear、RLinear | ETTH1 测试集 mse/mae |
说明:上表仅为速览,完整的多模型明细(含推理/训练模型下载链接、精确指标数值与评测口径)请直接查阅 model_list_dcu.md,避免本文转述造成精度损失。
九、注意事项与限制
基于 pipelines_list_dcu.md、paddlepaddle_install_DCU.md 与 multi_devices_use_guide.md 的内容,在 DCU 上使用 PaddleX 时有以下几点需要明确:
- 硬件架构约束:当前仅支持海光 Z100 系列芯片,且飞桨 DCU 版只支持海光 C86 架构,选型前需确认硬件型号;
- 产线边界:官方 DCU 基础产线为通用图像分类、通用语义分割;特色产线(OCR、文档信息抽取、时序系列等)暂未开放,相关业务需先评估 CPU/GPU 环境;
- 环境一致性:强烈建议使用官方 DCU 开发镜像(预装 DTK),自行搭建环境时需自行保证 DTK 版本与飞桨 DCU 版兼容;
- 设备参数写法:CLI 使用
--device dcu(或dcu:0),Python API 使用device="dcu:0",训练场景多卡可写dcu:0,1,2,3; - 模型下载:DCU 可用模型的推理/训练权重下载入口统一维护在 model_list_dcu.md 中,配置
model_dir指向本地模型即可实现离线部署。
综上,PaddleX 在海光 DCU 上的能力正按「基础产线先行、特色产线跟进」的节奏逐步铺开。对于图像分类与语义分割两类高频 CV 任务,当前版本已具备从环境安装、产线推理到单模型微调的完整闭环;对于更丰富的特色产线,建议持续跟进仓库文档更新(对照 pipelines_list.md 中的完整产线能力做规划),待 DCU 适配开放后即可无缝切换。
- 人工智能
- 大模型
- 低代码
- 计算机视觉
- 深度学习
- NLP
- 模型推理服务
- RAG
【免费下载链接】PaddleX
All-in-One Development Tool based on PaddlePaddle
相关推荐
Amethyst 2019 路线图解读:Rust 数据驱动游戏引擎的功能全景与演进方向
Amethyst 2019 路线图解读:Rust 数据驱动游戏引擎的功能全景与演进方向 docs/ROADMAP.md 记录了 Amethyst 引擎在 201
人工智能大模型低代码计算机视觉深度学习NLP模型推理服务RAG微调语音PaddleX 海光 DCU 产线支持指南:通用图像分类与通用语义分割实战
PaddleX 海光 DCU 产线支持指南:通用图像分类与通用语义分割实战 本指南围绕 PaddleX 在海光 DCU(Hygon Deep Computing
人工智能大模型低代码计算机视觉深度学习模型推理服务gopass fsmove 命令详解:在文件系统与加密密码库之间安全搬运文件
gopass fsmove 命令详解:在文件系统与加密密码库之间安全搬运文件 fsmove 是 gopass 提供的一组二进制文件处理子命令( cat 、 fs
人工智能大模型低代码计算机视觉深度学习模型推理服务
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考