恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

PaddleSeg Linux GPU/CPU PACT 量化训练推理测试全流程指南

  • 首页
  • 资讯中心
  • /
  • PaddleSeg Linux GPU/CPU PACT 量化训练推理测试全流程指南

相关资讯

悬浮HEK293用PEI转染效率低怎么办?细胞密度、复合物粒径与培养基逐项排查 2026/9/27 21:35:08
`‘wb‘` 是 Python 内置 `open()` 函数中用于打开文件的一种模式,其中 `‘w‘` 代表写入(write) 2026/9/27 21:35:08
`ab`模式是Python文件操作中专门用于**二进制数据追加**的模式 2026/9/27 21:35:08

最新资讯

面试官:如何实现企业级MCP分布式部署?TaoToken统一Key接入MCP Gateway配置实战
Hi-Fi 无损音质 Lightning 转耳机中的 EVASH Ultra EEPROM 实践应用:TaoToken 统一 Key 配置与 I2C 固件验证
AI 代理基建狂飙下的技能安全:用 TaoToken 统一 Key 打通 Vibe Coding 交钥匙流程
【Claude Code】“源码”解读(六·终篇):推理优化与生产部署——用 TaoToken 统一 Key 打通 Claude 又快又省的落地链路
MCP笔记工具配 TaoToken:让 AI 真正读懂你的每一本书
避开建站坑:网页设计简单基础页面模板图解步骤与实战指南

今日推荐

从像素到笔画:srt-whiteboard-animation骨架笔迹追踪实现(Zhang-Suen细化+8邻接追踪)
网站建设的英语怎么说?别只背单词,看完这套安全完整流程才敢上线
新手入门看这篇:建设网站加盟避坑指南与SEO实操

本周热门

从像素到笔画:srt-whiteboard-animation骨架笔迹追踪实现(Zhang-Suen细化+8邻接追踪)
网站建设的英语怎么说?别只背单词,看完这套安全完整流程才敢上线
新手入门看这篇:建设网站加盟避坑指南与SEO实操

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

PaddleSeg Linux GPU/CPU PACT 量化训练推理测试全流程指南

发布时间:2026/9/27 21:40:08
PaddleSeg Linux GPU/CPU PACT 量化训练推理测试全流程指南 人工智能计算机视觉预训练【免费下载链接】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 自检TIPCTest In Paddle Cloud体系中「Linux GPU/CPU PACT 量化训练推理测试」的实战指南。文章以 test_train_pact_inference_python.md 为骨架结合仓库中deploy/slim/quant的量化训练、量化评估、量化导出源码以及test_tipc/configs下的真实测试配置完整讲解从环境准备、数据准备、功能测试到日志解读的每一个步骤并深入剖析 PACT 量化训练在 PaddleSeg 中的底层实现原理。读完本文你将能够独立复现任一支持模型的 PACT 量化训练推理自检流程并能够基于源码理解量化范围、量化策略与精度验证的完整链路。1. 测试概览与结论汇总PACT 量化训练推理测试是 PaddleSeg 模型库自检体系中的一项重要测试其目标是在 Linux 环境下以 GPU/CPU 为运行设备验证分割模型经过PACT 量化感知训练Quantization-Aware TrainingQAT后仍能完成「训练 → 评估 → 导出 → 推理」的完整闭环。该测试的主程序为 test_train_inference_python.sh它通过解析test_tipc/configs/下的.txt配置文件自动编排训练、评估、导出、推理各阶段命令并检查每一步的退出状态。根据文档给出的测试结论汇总当前仓库中覆盖了 9 组「算法/模型」的 PACT 量化训练测试全部采用单机单卡gpu_list 中首项为 0运行算法名称模型名称单机单卡HRNetpphumanseg_mobile (fcn_hrnetw18_small)PACT量化训练HRNetfcn_hrnetw18PACT量化训练DeepLabV3Ppphumanseg_server (deeplabv3p_resnet50)PACT量化训练ConnectNetpphumanseg_litePACT量化训练OCRNetocrnet_hrnetw18PACT量化训练OCRNetocrnet_hrnetw48PACT量化训练SegFormersegformer_b0PACT量化训练PP-LiteSegpp_liteseg_stdc1PACT量化训练PP-LiteSegpp_liteseg_stdc2PACT量化训练上述模型对应的测试配置文件均位于test_tipc/configs/下文件名统一为train_pact_infer_python.txt例如 fcn_hrnetw18/train_pact_infer_python.txt、pphumanseg_lite/train_pact_infer_python.txt、ocrnet_hrnetw48/train_pact_infer_python.txt 等。这也意味着只要你的业务模型属于上述算法族即可直接复用对应配置跑通 PACT 量化自检。2. 测试流程总览整个 PACT 量化训练推理测试的流程可以分为四个阶段准备数据和模型通过 prepare.sh 下载/准备轻量训练数据与预训练模型并生成对应的配置文件准备环境安装 PaddlePaddle2.2、PaddleSlim、项目依赖以及 AutoLog 日志工具功能测试执行 test_train_inference_python.sh完成 PACT 量化训练、评估、导出与 int8 推理日志判定依据终端输出的Run successfully with command - ...或失败日志判断测试是否通过并定位问题。从源码结构看test_train_inference_python.sh 是整个流程的调度中枢它读取配置文件中的trainer:pact_train字段第 15 行附近据此将pact_train对应的训练命令即deploy/slim/quant/qat_train.py与quant_export对应的导出命令即deploy/slim/quant/qat_export.py注入执行序列并设置flag_quantTrue以在推理阶段强制使用 int8 精度见脚本第 283-287 行。3. 准备数据和模型以fcn_hrnetw18为例准备 PACT 量化训练推理测试所需的模型和数据执行如下指令bash test_tipc/prepare.sh test_tipc/configs/fcn_hrnetw18/train_pact_infer_python.txt lite_train_lite_infer该命令做了两件事模式指定第二个参数lite_train_lite_infer是 TIPC 预置的测试模式表示「轻量训练 轻量推理」即用极少的迭代轮次iters20和较小的 batch_size 快速验证链路可用性而不是跑完整精度配置解析prepare.sh读取train_pact_infer_python.txt中 train_params 段的信息下载或准备训练所需的数据集与预训练权重并将其放置到脚本约定的路径如test_tipc/data/cityscapes/cityscapes_val_5.list即推理用图片列表。对于其他模型如pphumanseg_lite、pp_liteseg_stdc1只需将路径替换为对应的train_pact_infer_python.txt即可。4. 准备环境PACT 量化训练依赖 PaddleSlim 的 QAT 能力因此除常规分割训练环境外还需要额外安装 PaddleSlim 与 AutoLog。文档给出的环境安装步骤如下。4.1 安装 PaddlePaddle需要 2.2 及以上版本的 PaddlePaddle。如果已安装满足版本要求的 paddlepaddle可跳过此步# 安装GPU版本的Paddle pip3 install paddlepaddle-gpu2.2.0 # 安装CPU版本的Paddle pip3 install paddlepaddle2.2.0从 deploy/python/infer.py 中的版本检查逻辑devicegpu use_trtTrue paddle 2.2也可以印证仓库的量化推理链路以 Paddle 2.2 为最低版本基线。4.2 安装 PaddleSlimPACT 量化训练的核心算子在 PaddleSlim 中实现必须安装pip3 install paddleslim2.2.04.3 安装依赖安装 PaddleSeg 项目自身的运行依赖pip3 install -r requirements.txt4.4 安装 AutoLogAutoLog 是规范化日志输出的工具用于统一记录训练/推理的耗时、吞吐等 benchmark 指标TIPC 测试的日志解析依赖它pip3 install https://paddleocr.bj.bcebos.com/libs/auto_log-1.2.0-py3-none-any.whl5. 功能测试5.1 执行测试命令环境就绪后以fcn_hrnetw18的 Linux GPU/CPU PACT 量化训练推理测试为例执行bash test_tipc/test_train_inference_python.sh test_tipc/configs/fcn_hrnetw18/train_pact_infer_python.txt lite_train_lite_infer主程序会按「PACT 量化训练 → 量化评估 → 量化导出 → int8 推理」的顺序串行执行并在每个阶段结束后进行状态检查status_check任何一步失败都会在状态日志中记录并终止后续阶段。5.2 期望输出如果命令运行成功终端会逐条输出类似下面的日志Run successfully with command - fcn_hrnetw18 - python3.7 deploy/slim/quant/qat_train.py --config test_tipc/configs/fcn_hrnetw18/fcn_hrnetw18_1024x512_cityscapes.yml --device gpu --save_interval 500 --seed 100 --num_workers 8 --save_dir./test_tipc/output/fcn_hrnetw18/lite_train_lite_infer/pact_train_gpus_0_autocast_null --iters20 --batch_size2 - ./test_tipc/output/fcn_hrnetw18/lite_train_lite_infer/pact_train_gpus_0_autocast_null_nodes_1.log ...... Run successfully with command - fcn_hrnetw18 - python3.7 deploy/slim/quant/qat_val.py --config test_tipc/configs/fcn_hrnetw18/fcn_hrnetw18_1024x512_cityscapes.yml --device gpu --num_workers 8 --model_path./test_tipc/output/fcn_hrnetw18/lite_train_lite_infer/pact_train_gpus_0_autocast_null/iter_20/model.pdparams - ./test_tipc/output/fcn_hrnetw18/lite_train_lite_infer/pact_train_gpus_0_autocast_null_nodes_1_eval.log ...... Run successfully with command - fcn_hrnetw18 - python3.7 deploy/slim/quant/qat_export.py --config test_tipc/configs/fcn_hrnetw18/fcn_hrnetw18_1024x512_cityscapes.yml --model_path./test_tipc/output/fcn_hrnetw18/lite_train_lite_infer/pact_train_gpus_0_autocast_null/iter_20/model.pdparams --save_dir./test_tipc/output/fcn_hrnetw18/lite_train_lite_infer/pact_train_gpus_0_autocast_null - ./test_tipc/output/fcn_hrnetw18/lite_train_lite_infer/pact_train_gpus_0_autocast_null_nodes_1_export.log ...... Run successfully with command - fcn_hrnetw18 - python3.7 deploy/python/infer.py --devicecpu --enable_mkldnnTrue --cpu_threads6 --config./test_tipc/output/fcn_hrnetw18/lite_train_lite_infer/pact_train_gpus_0_autocast_null//deploy.yaml --batch_size1 --image_pathtest_tipc/data/cityscapes/cityscapes_val_5.list --benchmarkTrue --precisionint8 --save_dir./test_tipc/output/fcn_hrnetw18/lite_train_lite_infer/python_infer_cpu_usemkldnn_True_threads_6_precision_int8_batchsize_1_results --model_namefcn_hrnetw18 ./test_tipc/output/fcn_hrnetw18/lite_train_lite_infer/python_infer_cpu_gpu_0_usemkldnn_True_threads_6_precision_int8_batchsize_1.log 21 - ./test_tipc/output/fcn_hrnetw18/lite_train_lite_infer/python_infer_cpu_gpu_0_usemkldnn_True_threads_6_precision_int8_batchsize_1.log ......5.3 输出解读这四条日志分别对应四个阶段可以按模型名 阶段后缀区分pact_train_gpus_0_autocast_null训练调用 qat_train.py训练 20 个 iter--iters20batch_size 为 2保存目录为./test_tipc/output/fcn_hrnetw18/lite_train_lite_infer/pact_train_gpus_0_autocast_null训练日志落盘为..._nodes_1.log..._eval.log评估调用 qat_val.py加载iter_20/model.pdparams权重进行量化模型评估..._export.log导出调用 qat_export.py将训练好的量化模型导出为推理模型并在同一目录生成deploy.yaml部署配置python_infer_cpu_usemkldnn_True_threads_6_precision_int8_batchsize_1推理调用 deploy/python/infer.py以 CPU MKLDNN --precisionint8对量化导出模型做 benchmark 推理逐条处理cityscapes_val_5.list中的测试图片。5.4 失败排查如果某一步运行失败终端会输出运行失败的日志信息以及对应的完整运行命令Run failed with command - ...形式。此时可以直接复制失败命令在终端手动执行观察具体报错检查对应.log文件位于./test_tipc/output/模型名/lite_train_lite_infer/下末尾的堆栈信息按阶段定位问题域训练失败多与数据路径、显存或 PaddleSlim 版本有关导出失败多与--model_path权重路径有关推理失败多与deploy.yaml生成路径、--precision参数或 MKLDNN 环境有关。6. 测试配置深度解析测试的行为完全由train_pact_infer_python.txt控制。以 fcn_hrnetw18/train_pact_infer_python.txt 为例其关键字段如下train_params model_name:fcn_hrnetw18 python:python3.7 gpu_list:0|0,1 --iters:lite_train_lite_infer20|lite_train_whole_infer20|whole_train_whole_infer1000 --batch_size:lite_train_lite_infer2|lite_train_whole_infer2|whole_train_whole_infer8 train_model_name:best_model/model.pdparams train_infer_img_dir:test_tipc/data/cityscapes/cityscapes_val_5.list ## trainer:pact_train pact_train:deploy/slim/quant/qat_train.py --config test_tipc/configs/fcn_hrnetw18/fcn_hrnetw18_1024x512_cityscapes.yml --device gpu --save_interval 500 --seed 100 --num_workers 8 ## eval_params eval:deploy/slim/quant/qat_val.py --config test_tipc/configs/fcn_hrnetw18/fcn_hrnetw18_1024x512_cityscapes.yml --device gpu --num_workers 8 ## export_params quant_export:deploy/slim/quant/qat_export.py --config test_tipc/configs/fcn_hrnetw18/fcn_hrnetw18_1024x512_cityscapes.yml infer_params inference:deploy/python/infer.py --device:cpu|gpu --enable_mkldnn:True --cpu_threads:6 --precision:int8 --image_path:./test_tipc/data/cityscapes/cityscapes_val_5.list --benchmark:True --model_name:fcn_hrnetw18各段职责train_params声明训练入口为pact_train而不是常规的norm_train并给出 PACT 训练命令模板deploy/slim/quant/qat_train.py ...--iters、--batch_size支持按模式取值lite_train_lite_infer20表示轻量模式下迭代 20 次、batch 为 2whole_train_whole_infer1000表示全量模式下迭代 1000 次、batch 为 8eval_params评估入口为 qat_val.py注意评估的是「量化后」的模型而非普通 FP32 模型export_params导出入口为 qat_export.py对应quant_export字段infer_params推理入口为 deploy/python/infer.py--precision:int8表明量化模型的推理必须使用 int8 精度--enable_mkldnn:True与--cpu_threads:6则启用了 CPU 上的 MKLDNN 加速。从 test_train_inference_python.sh 的调度逻辑第 283-287 行可以看到当trainer等于pact_train时脚本会同时替换训练与导出命令并置flag_quantTrue随后在推理阶段func_inference脚本会检查precision是否与量化标志匹配——量化模型只允许以 int8 精度推理脚本第 145-147 行的跳过逻辑保证了「非 int8 精度 量化模型」组合会被跳过从而保证整条链路自洽。7. 源码级原理PaddleSeg 如何实现 PACT 量化训练7.1 量化配置与默认策略PACT 量化训练的量化参数集中在 qat_config.py 的quant_config字典中默认策略如下配置项默认值含义weight_preprocess_typeNone权重预处理类型默认不做预处理activation_preprocess_typeNone激活预处理类型默认不做预处理weight_quantize_typechannel_wise_abs_max权重按通道维度的绝对值最大值做对称量化activation_quantize_typemoving_average_abs_max激活使用滑动平均绝对值最大值估计量化范围weight_bits8权重量化位宽activation_bits8激活量化位宽dtypeint8量化后的数据类型window_size10000range_abs_max量化方式的窗口大小moving_rate0.9滑动平均的衰减系数quantizable_layer_type[Conv2D, Linear]可被量化的算子类型其中channel_wise_abs_max按每个输出通道独立统计权重的绝对值最大值精度损失更小moving_average_abs_max则在训练过程中以 0.9 的衰减系数持续估计激活的量化范围这是 QAT 相比 PTQ如 ptq.py 对应的后训练量化的核心差异——量化范围在训练中同步学习。7.2 量化范围只量化骨干网络BackboneQAT 训练 中有一个非常关键的细节函数skip_quant第 125-138 行def skip_quant(model): if not hasattr(model, backbone): logger.info(Quantize all target ops) return logger.info(Quantize all target ops in backbone) for name, cur_layer in model.named_sublayers(): if isinstance(cur_layer, (paddle.nn.Conv2D, paddle.nn.Linear)) \ and backbone not in name: cur_layer.skip_quant True其逻辑是如果模型带有backbone属性则只对骨干网络中的 Conv2D 与 Linear 层做量化模型头head中的卷积与全连接层全部跳过量化只有没有 backbone 属性的模型才量化全部目标算子。这一设计在训练qat_train.py、评估qat_val.py和导出qat_export.py三个脚本中通过from qat_train import skip_quant被一致复用保证量化结构在三阶段完全对齐。7.3 训练-评估-导出的完整调用链训练qat_train.py 中main()依次完成解析--config与--iters/--batch_size/--learning_rate等覆盖参数 → 用ConfigSegBuilder构建模型、数据集、损失与优化器 → 若指定--model_path则加载预训练权重utils.load_entire_model→skip_quant跳过 head 量化 →QAT(configquant_config).quantize(model)完成模型量化改造 → 调用paddleseg.core.train进行量化感知训练评估qat_val.py 对模型做同样的量化改造后加载--model_path权重再调用paddleseg.core.evaluate计算量化模型的精度指标它还额外支持--aug_eval、--flip_horizontal、--is_slide等增强/滑窗评估选项以及 DeepLabV3P 特有的--data_format NHWC导出qat_export.py 通过quantizer.save_quantized_model导出量化推理模型并自动生成deploy.yaml包含 val 数据集 transforms 与model.pdmodel/model.pdiparams文件名支持--input_shape固定输入形状、--output_opargmax/softmax/none输出算子选择以及--for_fd导出 FastDeploy 兼容格式此时文件名为inferenceinference.yml。值得注意的是PACT 量化训练阶段通常需要一个「普通 FP32 预训练权重」作为起点。在 test_train_inference_python.sh 中可以看到若配置中同时存在norm_train与pact_train脚本会先把常规训练产出的权重保存下来load_norm_train_model再作为--model_path预训练参数喂给 PACT 训练脚本第 331-334、371-374 行保证量化训练从一个已收敛的 FP32 模型出发。8. 推理阶段int8 模型如何落地运行量化导出的模型最终由 deploy/python/infer.py 执行推理。从源码看其核心逻辑包括精度映射内部维护precision_map将命令行--precision参数映射为推理引擎精度模式TIPC 配置固定使用int8见 infer_params 段的--precision:int8MKLDNN 加速当--enable_mkldnnTrue且运行在 CPU 上时会调用enable_mkldnn()并设置mkldnn_cache_capacity(10)缓存 10 种输入 shape从而在 int8 推理时充分发挥 MKLDNN 的整型算子加速能力TensorRT 支持若设备为 GPU 且--use_trtTrue则要求 Paddle 版本 2.2并将precision_mode透传给 TensorRT 引擎--precisionint8时即走 TensorRT INT8 模式Benchmark 输出--benchmarkTrue时通过 AutoLog 记录吞吐与延迟指标输出目录由--save_dir与--model_name共同决定。从 TIPC 配置看量化模型的默认推理组合是「CPU MKLDNN int8」这正是边缘端与无 GPU 环境下部署量化分割模型的标准用法。9. 扩展将 PACT 量化测试推广到更多模型文档的结论表列出了 9 组模型但仓库中实际的train_pact_infer_python.txt配置正好与之对应test_tipc/configs/下共 9 份fcn_hrnetw18、fcn_hrnetw18_small、deeplabv3p_resnet50、pphumanseg_lite、ocrnet_hrnetw18、ocrnet_hrnetw48、segformer_b0、pp_liteseg_stdc1、pp_liteseg_stdc2。如果你想验证其他模型可以参照现有配置模板复制一份同算法的train_pact_infer_python.txt如pp_liteseg_stdc1的配置适用于pp_liteseg_stdc2将model_name、--config指向的 yml位于test_tipc/configs/模型/目录如fcn_hrnetw18_1024x512_cityscapes.yml与--image_path图片列表替换为对应模型的值确认该模型的网络结构带backbone属性大多数 PaddleSeg 模型满足以便复用「只量化骨干」策略依次执行prepare.sh与test_train_inference_python.sh完成验证。需要说明的是PACT 量化训练属于模型压缩手段实际部署收益模型体积、推理加速比取决于目标硬件与算子支持情况TIPC 测试的核心价值在于保证量化链路的功能正确性与可复现性。10. 小结PaddleSeg 的 Linux GPU/CPU PACT 量化训练推理测试以 test_train_inference_python.sh 为调度主程序以train_pact_infer_python.txt为行为配置通过 qat_train.py训练、qat_val.py评估、qat_export.py导出与 infer.pyint8 推理四个脚本串起完整闭环。其技术要点可以概括为三句话量化策略默认 8bit 权重/激活量化权重用channel_wise_abs_max、激活用moving_average_abs_max量化范围在训练中动态学习QAT 的本质量化范围带 backbone 的模型只量化骨干网络head 通过skip_quant跳过训练/评估/导出三阶段严格一致测试判定任一阶段失败都会打印失败命令与日志路径通过「复制命令手动复跑 查看落盘 log」即可快速定位问题。赞分享人工智能计算机视觉预训练【免费下载链接】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 TIPC 混合精度AMP训练推理全流程测试指南Linux GPU/CPU 实战PaddleSeg TIPC 混合精度AMP训练推理全流程测试指南Linux GPU/CPU 实战 PaddleSeg 的 TIPCTest Infra人工智能计算机视觉预训练PaddleOCR Linux GPU/CPU KL离线量化训练与推理全流程测试指南PaddleOCR Linux GPU/CPU KL离线量化训练与推理全流程测试指南 本文面向希望在 PaddleOCR 仓库中一键验证「KL 离线量化 → i人工智能计算机视觉OCR深度学习大模型RAGPaddleSeg 离线量化PTQ训练推理测试全流程从准备到 GPU/CPU 推理验证PaddleSeg 离线量化PTQ训练推理测试全流程从准备到 GPU/CPU 推理验证 导读 本文围绕 PaddleSeg 仓库 TIPCTrainin人工智能计算机视觉预训练上一篇3DS模拟器完全指南从零开始掌握Citra的5个核心步骤下一篇WeChatMsg如何永久保存你的微信聊天记忆打造个人专属数字档案馆创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号