PaddleNLP TIPC 指南:Windows 端基础训练与预测功能测试全流程解析 人工智能大模型预训练微调LoRARLHF强化学习分布式训练【免费下载链接】PaddleNLPEasy-to-use and powerful LLM and SLM library with awesome model zoo.项目地址https://gitcode.com/gh_mirrors/pa/PaddleNLP点击查看免费下载导读本文围绕 PaddleNLP 仓库中的 TIPCTest Training and Inference for PaddlePaddle Chain基础功能测试体系系统讲解 Windows 端基于 Python 的训练、推理功能测试方法。读者将掌握test_train_inference_python.sh的四种运行模式lite_train_lite_infer / lite_train_whole_infer / whole_infer / whole_train_whole_infer、配置文件结构与参数含义、prepare.sh数据与模型准备逻辑以及基于compare_results.py的预测精度校验方法能够独立在 WindowsGit Bash 环境或 Linux 上跑通训练 → 动转静导出 → 推理的完整验证链路。1. 测试目标与结论汇总Windows 端基础训练预测功能测试的主程序为test_train_inference_python.sh位于 tests/test_tipc/test_train_inference_python.sh用于验证基于 Python 的模型训练、推理等基本功能是否完整可用。在 PaddleNLP 中该测试以bigru_crfBiGRU CRF 中文词法分析模型为主要验证对象其训练脚本为 tests/test_tipc/bigru_crf/train.py推理脚本为 tests/test_tipc/bigru_crf/deploy/predict.py。1.1 训练功能汇总模型名称单机单卡单机多卡多机多卡模型压缩单机多卡bigru_crf正常训练---从测试结论可以看出bigru_crf 在 Windows 端 TIPC 测试中支持单机单卡正常训练暂未覆盖单机多卡、多机多卡与模型压缩场景。1.2 预测功能汇总训练产出的模型为正常模型预测功能汇总如下模型类型devicebatchsizetensorrtmkldnncpu多线程正常模型GPU1/8fp32/fp16--正常模型CPU1/8-fp32/fp16支持即正常模型在 GPU 端支持 batchsize 1/8 下的 fp32/fp16可叠加 TensorRT 加速在 CPU 端支持 batchsize 1/8 下的 fp32/fp16可叠加 MKLDNN 加速与 CPU 多线程。这些组合正是 TIPC 推理阶段要逐一覆盖的矩阵。2. 测试流程概览测试整体分为三个环节环境准备配置运行环境详见 tests/test_tipc/docs/install.md功能测试先运行prepare.sh准备数据和模型再运行test_train_inference_python.sh执行训练与推理最终在test_tipc/output目录下生成python_infer_*.log格式的日志文件精度测试使用compare_results.py将预测日志中的结果与预存的基准结果gt_file比对验证精度符合预期。2.1 Windows 环境使用 Git Bash由于 Windows 与 Linux 的路径管理方式不同TIPC 建议在 Windows 上安装Git Bash终端。Git Bash 中执行指令的方式与 Linux 端一致支持 bash 脚本、通配符与路径习惯更方便 TIPC 测试。这一点对整条测试链路至关重要——prepare.sh与test_train_inference_python.sh都是 bash 脚本且内部大量使用wget、tar、sed、ln -s等类 Unix 命令见 tests/test_tipc/prepare.sh原生 CMD / PowerShell 无法直接运行。3. 安装依赖3.1 安装 PaddlePaddle 与 PaddleNLP安装 PaddlePaddle 2.0安装 PaddleNLP在仓库根目录下执行pip3 install ../requirements.txt pip3 install ..3.2 安装 AutoLog规范化日志输出工具AutoLog 用于在推理阶段输出规范化的性能与精度日志predict.py依赖它完成日志落盘compare_results.py也正是通过解析 AutoLog 格式的日志来提取预测结果的。安装步骤如下git clone AutoLog 开源仓库地址 cd AutoLog pip3 install -r requirements.txt python3 setup.py bdist_wheel pip3 install ./dist/auto_log-1.0.0-py3-none-any.whl cd ../3.3 环境配置参考TIPC 运行环境的完整搭建教程包括 CUDA/CUDNN/TensorRT 组合选型、Docker 镜像安装与 Python 环境构建、PaddlePaddle 带 TRT 版本安装及常见 FAQ参见 tests/test_tipc/docs/install.md。其中推荐的 CUDA/CUDNN/TensorRT 组合包括CUDA 10.1 CUDNN 7.6 TensorRT 6CUDA 10.2 CUDNN 8.1 TensorRT 7CUDA 11.1 CUDNN 8.1 TensorRT 74. 功能测试四种运行模式test_train_inference_python.sh包含 4 种运行模式每种模式的运行数据规模不同分别用于验证流程走通、预测速度与训练/预测精度。Windows 端对应的配置文件为 tests/test_tipc/configs/bigru_crf/train_windows_gpu_normal_normal_infer_python_windows_cpu_gpu.txt。模式1lite_train_lite_infer少量训练 少量预测使用少量数据训练用于快速验证训练到预测的完整流程是否走通不验证精度和速度bash test_tipc/prepare.sh ./test_tipc/configs/bigru_crf/train_windows_gpu_normal_normal_infer_python_windows_cpu_gpu.txt lite_train_lite_infer bash test_tipc/test_train_inference_python.sh ./test_tipc/configs/bigru_crf/train_windows_gpu_normal_normal_infer_python_windows_cpu_gpu.txt lite_train_lite_infer模式2lite_train_whole_infer少量训练 全量预测使用少量数据训练全量数据预测用于验证训练后的模型执行预测的流程与预测速度是否合理bash test_tipc/prepare.sh ./test_tipc/configs/bigru_crf/train_windows_gpu_normal_normal_infer_python_windows_cpu_gpu.txt lite_train_whole_infer bash test_tipc/test_train_inference_python.sh ./test_tipc/configs/bigru_crf/train_windows_gpu_normal_normal_infer_python_windows_cpu_gpu.txt lite_train_whole_infer模式3whole_infer不训练全量预测不训练直接使用预训练好的模型进行全量数据预测走通开源模型评估与动转静流程检查 inference model 的预测时间和精度。由于不涉及训练prepare.sh在此模式下会直接下载静态图推理模型bigru_crf_infer_model.tgz并解压到./test_tipc/bigru_crf/infer_model见 tests/test_tipc/prepare.sh 中whole_infer分支跳过训练环节bash test_tipc/prepare.sh ./test_tipc/configs/bigru_crf/train_windows_gpu_normal_normal_infer_python_windows_cpu_gpu.txt whole_infer # 用法1: 默认使用 config 中 gpu_list 指定的卡 bash test_tipc/test_train_inference_python.sh ./test_tipc/configs/bigru_crf/train_windows_gpu_normal_normal_infer_python_windows_cpu_gpu.txt whole_infer # 用法2: 指定GPU卡预测第三个传入参数为GPU卡号 bash test_tipc/test_train_inference_python.sh ./test_tipc/configs/bigru_crf/train_windows_gpu_normal_normal_infer_python_windows_cpu_gpu.txt whole_infer 1模式4whole_train_whole_infer全量训练 全量预测CE 模式持续集成回归全量数据训练、全量数据预测验证模型训练精度、预测精度与预测速度bash test_tipc/prepare.sh ./test_tipc/configs/bigru_crf/train_windows_gpu_normal_normal_infer_python_windows_cpu_gpu.txt whole_train_whole_infer bash test_tipc/test_train_inference_python.sh ./test_tipc/configs/bigru_crf/train_windows_gpu_normal_normal_infer_python_windows_cpu_gpu.txt whole_train_whole_infer4.1 prepare.sh 的数据准备逻辑从源码看tests/test_tipc/prepare.sh 通过source test_tipc/common_func.sh引入参数解析函数以配置文件路径 模式名为入参按模式分支准备数据对 bigru_crf 模型四种模式都会下载词法分析小数据集lexical_analysis_dataset_tiny.tar.gz并解压到./data/目录用于训练与推理whole_infer模式还会额外下载预训练的推理模型对 transformer 模型prepare.sh会通过sed动态调整max_out_len、random_seed等配置并下载 WMT14 数据集与预训练模型以控制不同模式下的运行时长与数据规模。这种按模式切换数据与模型的设计保证了轻量模式可在约 15 分钟内完成整条链路验证。5. 配置文件深度解析Windows 端 TIPC 使用键值对文本格式的配置文件以|分隔多选参数、区分模式专属参数。以 tests/test_tipc/configs/bigru_crf/train_windows_gpu_normal_normal_infer_python_windows_cpu_gpu.txt 为例核心参数含义如下5.1 训练参数段train_params参数取值说明model_namebigru_crf测试的模型名prepare.sh 据此分支准备数据pythonpython执行 Python 的解释器命令gpu_list0使用的 GPU 卡号列表--devicegpu训练设备Windows 端默认 GPUGlobal.auto_castnull混合精度开关null 表示不使用 AMP--epochslite_train_lite_infer1\|lite_train_whole_infer1\|whole_train_whole_infer100各模式对应的训练轮数轻量模式 1 轮快速走通CE 模式 100 轮全量训练--model_save_dir./test_tipc/bigru_crf/output/训练日志与模型保存目录--batch_sizelite_train_lite_infer16\|lite_train_whole_infer16\|whole_train_whole_infer32各模式对应的 batch sizeGlobal.pretrained_modelnull预训练模型路径null 表示从零训练train_model_namebest_model.pdparams训练产出的最优模型文件名train_infer_img_dir./data/lexical_analysis_dataset_tiny词法分析小数据集路径prepare.sh 下载并解压--data_dir./data/lexical_analysis_dataset_tiny数据目录参数trainernorm_train训练器类型常规训练pact_train/fpgm_train/distill_train为 null未启用量化/剪枝/蒸馏压缩训练norm_traintest_tipc/bigru_crf/train.py常规训练入口脚本5.2 评估参数段eval_params参数取值说明evalnull评估开关当前 Windows 测试未启用独立评估环节5.3 推理参数段infer_params参数取值说明--output_path./test_tipc/bigru_crf/infer_model/动转静导出模型的输出目录--params_path./test_tipc/bigru_crf/output/best_model.pdparams待导出的训练权重路径norm_exporttest_tipc/bigru_crf/export_model.py正常模型动转静导出脚本tests/test_tipc/bigru_crf/export_model.pyquant_export/fpgm_export/distill_exportnull量化/剪枝/蒸馏导出均未启用infer_model./test_tipc/bigru_crf/infer_modelinference model 目录inference./test_tipc/bigru_crf/deploy/predict.py推理脚本tests/test_tipc/bigru_crf/deploy/predict.py--devicecpu\|gpu推理设备双选覆盖 CPU 与 GPU 两种场景--enable_mkldnnTrue\|False是否开启 MKLDNNCPU 加速开关双选--cpu_threads1\|6CPU 推理线程数双选验证 cpu 多线程支持--batch_size1\|8推理 batchsize 双选--use_tensorrtFalse\|True是否开启 TensorRTGPU 加速开关双选--precisionfp32\|fp16推理精度双选--benchmarkTrue开启 benchmark 模式输出性能数据正是这些cpu|gpu、True|False、1|8、fp32|fp16等以|分隔的多选参数构成了预测功能汇总表中 GPU/CPU、TRT/MKLDNN、多线程等组合矩阵的自动化遍历来源——test_train_inference_python.sh会逐一遍历这些组合并生成对应的预测日志。6. 运行结果与日志解读运行相应指令后在test_tipc/output文件夹下会自动保存运行日志。以lite_train_lite_infer模式为例训练 inference 全链路test_tipc/bigru_crf/output/下会有如下文件test_tipc/bigru_crf/output/ |- results_python.log # 运行指令状态的日志 |- norm_train_gpus_0_autocast_null/ # GPU 0号卡上正常训练的训练日志和模型保存文件夹 ...... |- python_infer_cpu_usemkldnn_True_threads_1_batchsize_1.log # CPU上开启Mkldnn线程数设置为1测试batch_size1条件下的预测运行日志 |- python_infer_gpu_usetrt_True_precision_fp16_batchsize_1.log # GPU上开启TensorRT测试batch_size1的半精度预测日志 ......其中results_python.log汇总了每条指令的运行状态。从 tests/test_tipc/common_func.sh 中的status_check()函数实现可以看到判定逻辑根据上一条命令的退出码成功时输出Run successfully with command ......失败时输出Run failed with command ......借助results_python.log可以快速定位是哪一条训练/推理指令执行出错是排查 TIPC 失败的第一步。7. 精度测试compare_results.py7.1 测试原理精度测试使用 tests/test_tipc/compare_results.py 比较模型预测结果是否符合预期主要步骤包括提取日志中的预测结果通过parser_results_from_log_by_name()使用grep解析 AutoLog 输出的key\tvalue格式日志行并用ast.literal_eval还原数值从本地文件提取保存好的基准结果load_gt_from_txts()会按文件名中的fp32/fp16/int8关键字将基准结果归类到对应精度比较两个结果testing_assert_allclose()对预测结果与基准结果执行np.testing.assert_equal全等比较误差大于设置阈值时报错。从源码可见该脚本支持--precision参数默认fp32来选择对应的基准集合并会逐个遍历所有匹配--log_file通配符的预测日志进行比对。7.2 使用方式运行命令Windows 端同样需在 Git Bash 中执行python3.7 test_tipc/compare_results.py --gt_file./test_tipc/bigru_crf/results/python_*.txt --log_file./test_tipc/bigru_crf/output/python_bigru_crf_*.log参数介绍gt_file指向事先保存好的预测基准结果路径支持*.txt结尾会自动索引*.txt格式的文件文件默认保存在test_tipc/results/文件夹下。bigru_crf 的基准文件即 tests/test_tipc/results/python_bigru_crf_results_fp32.txt 与 tests/test_tipc/results/python_bigru_crf_results_fp16.txtlog_file指向运行test_tipc/test_train_inference_python.sh脚本 infer 模式保存的预测日志日志中打印了预测结果同样支持python_infer_*.log格式传入。7.3 运行结果判定比对通过时输出Assert allclose passed!并提示两个文件结果一致出现不一致时脚本会抛出异常并明确指出The results of ... are inconsistent!从而将精度回归问题显式暴露出来。建议在 CI 中把 compare_results 的退出码纳入检查任何预测结果漂移都会立即中断流水线。8. 总结PaddleNLP 的 Windows 端 TIPC 测试以test_train_inference_python.sh为核心通过四种运行模式覆盖轻量流程验证 → 训练后推理 → 纯推理评估 → 全量回归四个递进层次环境层依赖 Git Bash 模拟类 Unix 环境配合 tests/test_tipc/docs/install.md 中的 CUDA/CUDNN/TensorRT 组合完成搭建数据层tests/test_tipc/prepare.sh 按模式下载词法分析小数据集或预训练推理模型保证不同模式下运行成本可控执行层配置文件 中以|分隔的多选参数自动生成 GPU/CPU、TensorRT/MKLDNN、fp32/fp16、线程数、batchsize 等推理组合矩阵并以 common_func.sh 中的status_check()汇总每步执行状态到results_python.log验收层compare_results.py 通过 AutoLog 规范化日志完成预测结果 vs 基准结果的全等比对形成精度回归闭环。这套流程不仅适用于 bigru_crf其配置驱动的设计同样可迁移到仓库内其他模型如 transformer、ernie 系列是验证 PaddleNLP 模型在 Windows 平台训练、动转静、推理全链路可用性的标准实践。赞分享人工智能大模型预训练微调LoRARLHF强化学习分布式训练【免费下载链接】PaddleNLPEasy-to-use and powerful LLM and SLM library with awesome model zoo.项目地址https://gitcode.com/gh_mirrors/pa/PaddleNLP点击查看免费下载相关推荐PaddleOCR TIPC Linux 端基础训练预测功能测试指南test_train_inference_python.sh 全流程解析PaddleOCR TIPC Linux 端基础训练预测功能测试指南test_train_inference_python.sh 全流程解析 导读 本文围绕人工智能计算机视觉OCR深度学习大模型RAGPaddleOCR Windows 端 TIPC 基础训练预测功能测试实战指南PaddleOCR Windows 端 TIPC 基础训练预测功能测试实战指南 本文档基于 PaddleOCR 仓库 test_tipc 目录下的 win_te人工智能计算机视觉OCR深度学习大模型RAGPaddleOCR Mac 端基础训练预测功能测试TIPC实战指南PaddleOCR Mac 端基础训练预测功能测试TIPC实战指南 本文档围绕 PaddleOCR 仓库 test_tipc https://link.gi人工智能计算机视觉OCR深度学习大模型RAG上一篇egui撤销重做操作历史记录和状态恢复下一篇告别录制困境DouyinLiveRecorder清晰度与存储优化全攻略创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考