首页/新闻资讯/正文详情

PaddleSeg 语义分割模型在昆仑芯上的 FastDeploy 部署实战指南

发布时间:2026/9/25 3:24:21 来源:云帆数科 栏目:资讯中心
PaddleSeg 语义分割模型在昆仑芯上的 FastDeploy 部署实战指南
人工智能计算机视觉预训练【免费下载链接】PaddleSegEasy-to-use image segmentation library with awesome pre-trained model zoo, supporting wide-range of practical tasks in Semantic Segmentation, Interactive Segmentation, Panoptic Segmentation, Image Matting, 3D Segmentation, etc.项目地址https://gitcode.com/gh_mirrors/pa/PaddleSeg点击查看免费下载本文以 PaddleSeg 官方文档《PaddleSeg 语义分割模型在昆仑芯上部署方案-FastDeploy》为主体系统讲解如何在昆仑芯 XPU 平台上部署 PaddleSeg 语义分割模型从支持的硬件型号、官方预导出模型清单到自行导出部署模型的参数要点再到 Python 与 C 双栈完整可运行的推理示例。读完本文你可以直接在 K100/K200、R200 等昆仑 AI 加速卡上跑通 PP-LiteSeg、PP-HumanSeg 等模型的端到端部署与可视化。1. 硬件支持范围PaddleSeg 支持利用 FastDeploy 在昆仑芯片上部署语义分割Segmentation模型。官方文档明确列出了支持范围见 deploy/fastdeploy/semantic_segmentation/kunlunxin/README.md支持的芯片昆仑 818-100推理芯片昆仑 818-300训练芯片支持的设备K100/K200 昆仑 AI 加速卡R200 昆仑芯 AI 加速卡昆仑芯在 PaddleSeg 的 FastDeploy 全场景部署体系中与 X86 CPU、NVIDIA GPU、昇腾、瑞芯微、晶晨、算能等硬件并列Python 和 C 两种部署接口均提供官方示例见 硬件支持列表。2. 使用官方预导出的模型列表官方提供了多组已导出的推理模型包覆盖城市街景语义分割、通用人像分割、肖像分割等典型场景。下表完整继承自官方文档模型参数文件大小输入 ShapemIoUmIoU (flip)mIoU (msflip)Unet-cityscapeswith/without-argmax52MB1024x51265.00%66.02%66.89%PP-LiteSeg-B(STDC2)-cityscapeswith/without-argmax31MB1024x51279.04%79.52%79.85%PP-HumanSegV1-Lite通用人像分割模型with/without-argmax543KB192x19286.2%--PP-HumanSegV2-Lite通用人像分割模型with/without-argmax12MB192x19292.52%--PP-HumanSegV2-Mobile通用人像分割模型with/without-argmax29MB192x19293.13%--PP-HumanSegV1-Server通用人像分割模型with/argmax103MB512x51296.47%--Portrait-PP-HumanSegV2-Lite肖像分割模型with/without-argmax3.6M256x14496.63%--FCN-HRNet-W18-cityscapeswith/without-argmax暂时不支持 ONNXRuntime 的 GPU 推理37MB1024x51278.97%79.49%79.74%Deeplabv3-ResNet101-OS8-cityscapeswith/without-argmax150MB1024x51279.90%80.22%80.47%SegFormer_B0-cityscapeswith/without-argmax15MB1024x102476.73%77.16%-每行模型均提供两个版本的模型包with-argmax与without-argmax。二者的导出方式差异在官方文档中有明确补充说明文件名标记without-argmax的模型不指定--input_shape指定--output_op none文件名标记with-argmax的模型不指定--input_shape指定--output_op argmax。也就是说两个版本均采用动态输入 shape 导出区别仅在于模型末端是否拼接 argmax 算子。with-argmax版本直接输出每个像素的分割类别int32N*H*W适合直接可视化without-argmax版本输出 logitsN*C*H*W适合需要自行后处理如阈值、多尺度融合的场景。模型包的具体下载地址以官方文档表格中的链接为准见 预导出模型列表。3. 自行导出 PaddleSeg 部署模型3.1 版本与模型范围要求官方文档给出的适用前提支持 PaddleSeg高于 2.6 版本的 Segmentation 模型如果部署的是PP-Matting、PP-HumanMatting或ModNet等抠图模型则不走本文流程需参考独立的 Matting 模型部署方案见 deploy/fastdeploy/matting/FastDeploy 测试过可成功部署的模型系列包括U-Netconfigs/unet/README.md、PP-LiteSegconfigs/pp_liteseg/README.md、PP-HumanSegcontrib/PP-HumanSeg/README.md、FCNconfigs/fcn/README.md、DeepLabV3configs/deeplabv3/README.md、SegFormerconfigs/segformer/README.md。3.2 导出命令与三文件模型格式PaddleSeg 的模型导出由 tools/export.py 完成完整参数说明见 docs/model_export_cn.md。以 PP-LiteSeg 为例python tools/export.py \ --config configs/pp_liteseg/pp_liteseg_stdc1_cityscapes_1024x512_scale0.5_160k.yml \ --model_path model.pdparams \ --save_dir output/inference_model导出参数以源码中 tools/export.py#L27-L58 的 argparse 定义为准参数名用途是否必选默认值config配置文件的路径是-model_path模型权重的路径否-save_dir预测模型保存的目录否./output/inference_modelinput_shape设置模型输入 shapeN*C*H*W如--input_shape 1 3 1024 1024。不设置时默认导出 shape 为[-1, 3, -1, -1]动态预测 shape 固定时建议指定否Noneoutput_op模型末端添加的输出算子支持argmax、softmax、none。默认模型返回 logitsargmax输出逐像素类别N*H*Wint32softmax输出逐像素逐类概率N*C*H*Wfloat32否argmaxfor_fd导出为 FDFastDeploy兼容格式的开关源码中定义为actionstore_true否False昆仑芯部署的关键前提PaddleSeg 导出的模型目录必须包含model.pdmodel拓扑结构、model.pdiparams权重和deploy.yaml部署配置三个文件。FastDeploy 在推理时正是从deploy.yaml中读取模型所需的预处理信息如 resize、normalize 参数。从源码结构看tools/export.py调用 paddleseg/core/export.py 中的export函数完成导出其中--for_fd参数会触发统一的 FD 兼容输出格式处理见 paddleseg/core/export.py#L60 处的分支判断因此面向 FastDeploy 部署时保持该选项开启有助于获得一致的导出产物。3.3 output_op 选择须知结合 docs/model_export_cn.md 中output_op参数的说明获取你部署所需的模型版本需要直接拿到分割 mask、快速可视化 →--output_op argmax需要概率输出用于后续业务逻辑如置信度过滤、融合 →--output_op softmax需要原始 logits 自行处理 →--output_op none。注意若部署时出现与 shape 相关的问题可尝试显式指定--input_shape固定输入尺寸。4. Python 部署示例infer.py完整示例见 deploy/fastdeploy/semantic_segmentation/kunlunxin/python/。4.1 环境准备部署前需自行编译基于昆仑 XPU 的 FastDeploy Python wheel 包并安装编译安装流程以 FastDeploy 官方构建文档为准。4.2 运行步骤# 进入部署示例目录仓库中路径为 deploy/fastdeploy/semantic_segmentation/kunlunxin/python cd deploy/fastdeploy/semantic_segmentation/kunlunxin/python # 下载 PP-LiteSeg 模型文件和测试图片 wget https://bj.bcebos.com/paddlehub/fastdeploy/PP_LiteSeg_B_STDC2_cityscapes_without_argmax_infer.tgz tar -xvf PP_LiteSeg_B_STDC2_cityscapes_without_argmax_infer.tgz wget https://paddleseg.bj.bcebos.com/dygraph/demo/cityscapes_demo.png # 昆仑芯 XPU 推理 python infer.py --model PP_LiteSeg_B_STDC2_cityscapes_without_argmax_infer --image cityscapes_demo.png命令行参数见 python/infer.py#L6-L14--modelPaddleSeg 模型目录必选需包含model.pdmodel、model.pdiparams、deploy.yaml--image测试图片路径必选。4.3 源码解读三处关键调用infer.py 仅 30 余行但涵盖了昆仑芯部署的完整骨架runtime_option fd.RuntimeOption() runtime_option.use_kunlunxin() # ① 指定昆仑芯 XPU 运行设备 model_file os.path.join(args.model, model.pdmodel) params_file os.path.join(args.model, model.pdiparams) config_file os.path.join(args.model, deploy.yaml) model fd.vision.segmentation.PaddleSegModel( # ② 加载三文件模型 model_file, params_file, config_file, runtime_optionruntime_option) im cv2.imread(args.image) result model.predict(im) # ③ 前向推理 vis_im fd.vision.vis_segmentation(im, result, weight0.5) cv2.imwrite(vis_img.png, vis_im) # 半透明叠加可视化要点fd.RuntimeOption().use_kunlunxin()是选择昆仑芯后端的唯一入口与 CPU/GPU、昇腾等设备的选择方式同构fd.vision.segmentation.PaddleSegModel构造时同时传入拓扑、权重和deploy.yaml三个文件与第 3.2 节强调的三文件模型一一对应fd.vision.vis_segmentation(im, result, weight0.5)将分割结果以 0.5 透明度叠加到原图输出vis_img.png。5. C 部署示例infer.cc完整示例见 deploy/fastdeploy/semantic_segmentation/kunlunxin/cpp/。5.1 环境准备部署前需自行编译基于昆仑芯 XPU 的 FastDeploy 预测库编译产物目录后文以fastdeploy-kunlunxin指代。5.2 编译与运行以 Linux 为例在示例目录下执行cd deploy/fastdeploy/semantic_segmentation/kunlunxin/cpp mkdir build cd build # 使用编译完成的 FastDeploy 库编译 infer_demo cmake .. -DFASTDEPLOY_INSTALL_DIR${PWD}/fastdeploy-kunlunxin make -j # 下载 PP-LiteSeg 模型文件和测试图片 wget https://bj.bcebos.com/paddlehub/fastdeploy/PP_LiteSeg_B_STDC2_cityscapes_without_argmax_infer.tgz tar -xvf PP_LiteSeg_B_STDC2_cityscapes_without_argmax_infer.tgz wget https://paddleseg.bj.bcebos.com/dygraph/demo/cityscapes_demo.png # 昆仑芯 XPU 推理 ./infer_demo PP_LiteSeg_B_STDC2_cityscapes_without_argmax_infer cityscapes_demo.png程序用法见 cpp/infer.cc#L52-L59 的 main 函数./infer_demo 模型目录 图片路径。5.3 源码与构建文件解读C 示例核心逻辑cpp/infer.cc#L23-L50与 Python 版一一对应auto model_file model_dir sep model.pdmodel; auto params_file model_dir sep model.pdiparams; auto config_file model_dir sep deploy.yaml; auto option fastdeploy::RuntimeOption(); option.UseKunlunXin(); // 对应 Python 的 runtime_option.use_kunlunxin() auto model fastdeploy::vision::segmentation::PaddleSegModel( model_file, params_file, config_file, option); if (!model.Initialized()) { /* 初始化失败检查 */ } auto im cv::imread(image_file); fastdeploy::vision::SegmentationResult res; if (!model.Predict(im, res)) { /* 预测失败检查 */ } std::cout res.Str() std::endl; // 打印分割统计信息 auto vis_im fastdeploy::vision::VisSegmentation(im, res, 0.5); cv::imwrite(vis_result.jpg, vis_im); // 可视化结果保存为 vis_result.jpg与 Python 版的差异在于 C 显式提供了Initialized()与Predict()的返回值检查便于在生产服务中做错误处理跨平台路径分隔符通过#ifdef WIN32兼容 Windows\\与/。构建配置非常简洁cpp/CMakeLists.txtPROJECT(infer_demo C CXX) CMAKE_MINIMUM_REQUIRED (VERSION 3.10) option(FASTDEPLOY_INSTALL_DIR Path of downloaded fastdeploy sdk.) include(${FASTDEPLOY_INSTALL_DIR}/FastDeploy.cmake) include_directories(${FASTDEPLOY_INCS}) add_executable(infer_demo ${PROJECT_SOURCE_DIR}/infer.cc) target_link_libraries(infer_demo ${FASTDEPLOY_LIBS})即CMake 只需知道 FastDeploy 安装目录-DFASTDEPLOY_INSTALL_DIR随后通过其自带的FastDeploy.cmake统一注入头文件目录与链接库。6. 注意事项与排错要点模型版本匹配部署预导出模型时注意其输入 Shape1024x512、192x192、512x512 等必须与测试数据/预处理配置一致人像分割模型PP-HumanSeg 系列与街景分割模型不可混用。FCN-HRNet-W18 限制该模型暂时不支持 ONNXRuntime 的 GPU 推理在昆仑芯 XPU 路径上使用 Paddle Inference 后端不受影响。with/without-argmax 选择若你的后处理逻辑依赖概率或 logits请选择without-argmax包并自行完成归一化与类别判定若只需 mask选with-argmax更省一步。shape 相关问题预导出模型均以动态 shape[-1, 3, -1, -1]导出若在你的环境出现 shape 报错可参考 docs/model_export_cn.md 的提示重新导出时指定--input_shape。Matting 模型PP-Matting、PP-HumanMatting、ModNet 不在本文覆盖范围内请使用 deploy/fastdeploy/matting/ 下的独立部署方案。文档入口FastDeploy 部署 PaddleSeg 模型的全硬件总览见 deploy/fastdeploy/semantic_segmentation/README.md模型导出完整参数见 docs/model_export_cn.md。通过本文的硬件适配确认、预导出模型选型、tools/export.py参数化导出、以及 Python/C 双栈推理示例你可以在昆仑芯上完整走通训练权重 → 三文件部署模型 → XPU 推理 → 可视化结果的全链路并将同一套use_kunlunxin()/UseKunlunXin()的设备指定模式平滑复用到 PaddleSeg 模型库中其他已验证的分割架构上。赞分享人工智能计算机视觉预训练【免费下载链接】PaddleSegEasy-to-use image segmentation library with awesome pre-trained model zoo, supporting wide-range of practical tasks in Semantic Segmentation, Interactive Segmentation, Panoptic Segmentation, Image Matting, 3D Segmentation, etc.项目地址https://gitcode.com/gh_mirrors/pa/PaddleSeg点击查看免费下载相关推荐PaddleSeg 语义分割模型在华为昇腾 NPU 上的 FastDeploy Python 部署实战PaddleSeg 语义分割模型在华为昇腾 NPU 上的 FastDeploy Python 部署实战 本篇指南聚焦 PaddleSeg 仓库中 deploy/人工智能计算机视觉预训练PaddleSeg 语义分割模型 C 部署实战FastDeploy 在 CPU/GPU/Paddle-TensorRT 上的全流程指南PaddleSeg 语义分割模型 C 部署实战FastDeploy 在 CPU/GPU/Paddle TensorRT 上的全流程指南 本文基于 Padd人工智能计算机视觉预训练基于 FastDeploy 的 PaddleDetection 昆仑芯 XPU Python 部署实战指南基于 FastDeploy 的 PaddleDetection 昆仑芯 XPU Python 部署实战指南 本指南以 PaddleDetection 仓库 de人工智能深度学习计算机视觉上一篇如何快速上手 React Native Button5分钟安装与基础使用教程下一篇SRE知识库建设How They SRE的内容管理与更新机制创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

不用跟AI客气了:从新研究看语气强度与回答正确率,TaoToken 统一 Key 配置实测
不用跟AI客气了:从新研究看语气强度与回答正确率,TaoToken 统一 Key 配置实测

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

CodeQL 1.23 JavaScript 提取器改进详解:模块识别、依赖目录排除与新语法支持
CodeQL 1.23 JavaScript 提取器改进详解:模块识别、依赖目录排除与新语法支持

静态分析SAST应用安全漏洞扫描代码质量 【免费下载链接】codeql CodeQL: the libraries and queries that power security researchers around the world, as well as code scanning in GitHub Advanced Security 项目地址: https://gitcode.com/gh_mirrors/co/code… · 2026/9/25 3:24:15

2026年北京园区地址5G应用业务服务商行业全景分析
2026年北京园区地址5G应用业务服务商行业全景分析

在北京园区地址服务赛道,随着数字产业加速向园区下沉,园区地址大数据应用、园区地址精细化运营需求持续升温,越来越多寻找园区地址大数据应用业务、园区地址出售业务、园区地址业务好的企业的创业者和企业经营者,都在关注靠谱合规… · 2026/9/25 3:24:09

CodeGuide 拼团交易平台:从 MRD 到 PRD 的拼团需求分析全流程解析
CodeGuide 拼团交易平台:从 MRD 到 PRD 的拼团需求分析全流程解析

文档教程后端 【免费下载链接】CodeGuide :books: 本代码库是作者小傅哥多年从事一线互联网 Java 开发的学习历程技术汇总,旨在为大家提供一个清晰详细的学习教程,侧重点更倾向编写Java核心内容。如果本仓库能为您提供帮助,请给予支持(关注、… · 2026/9/25 3:56:51

OrangePi 5 Plus 构筑双 EtherCAT 与 6 路 CAN 软实时主站实践
OrangePi 5 Plus 构筑双 EtherCAT 与 6 路 CAN 软实时主站实践

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

C++智能指针循环引用:weak_ptr原理与内存泄漏排查实战
C++智能指针循环引用:weak_ptr原理与内存泄漏排查实战

排查了大半天的内存泄漏,最后发现根源是两个shared_ptr互相引用——这类循环引用问题,可以说是 C 智能指针领域最经典的坑之一。今天这篇把weak_ptr解决shared_ptr循环引用的来龙去脉完整梳理一遍:底层原理、引用计数到底在数什么、实际改造手… · 2026/9/25 3:56:45

Buildah pull 命令完全指南:镜像拉取的传输协议、认证配置与拉取策略详解
Buildah pull 命令完全指南:镜像拉取的传输协议、认证配置与拉取策略详解

云原生 【免费下载链接】buildah A tool that facilitates building OCI images. 项目地址: https://gitcode.com/gh_mirrors/bu/buildah 点击查看 免费下载 Buildah 是构建 OCI 镜像的实用工具,buildah pull 是其核心命令之一,负责按照指定… · 2026/9/25 3:56:45

RocketMQ大消息处理实战:4MB限制排查与优化方案
RocketMQ大消息处理实战:4MB限制排查与优化方案

1. 4MB限制不是传说:客户端和Broker各卡一道,先搞清楚“谁说了算”上周有个同事跑来找我,说线上给下游推送客户画像消息,突然开始报错,后台一看发送端直接抛了MQClientException: message body size over maxMessageSi… · 2026/9/25 3:56:33

OpenShorts AI布局自动决策的秘密:为什么发12帧比发整个视频更聪明(含成本测算)
OpenShorts AI布局自动决策的秘密:为什么发12帧比发整个视频更聪明(含成本测算)

OpenShorts AI布局自动决策的秘密:为什么发12帧比发整个视频更聪明(含成本测算) 【免费下载链接】openshorts Open source AI clip generator: turns long videos into viral 9:16 shorts with AI moment detection, face tracking, subtitle… · 2026/9/25 3:56:27

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

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

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

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

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

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

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码