PaddleOCR系列——《文本检测、文本识别》模型训练

上面已经制作完数据集 ,现在开始进行模型训练。

数据集制作请参考:PaddleOCR系列------《文本检测、文本识别、表格结构》数据集制作_ppocrlabel-CSDN博客

官方文档:

文本检测模块 - PaddleOCR 文档

文本识别模块 - PaddleOCR 文档

下载PaddleOCR源码

https://github.com/PaddlePaddle/PaddleOCR.git

再或者GitHub - PaddlePaddle/PaddleOCR: Turn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between images/PDFs and LLMs. Supports 100+ languages. · GitHub

去github下载源码压缩包

安装参考: PaddleOCR系列------基础环境安装及快速使用-CSDN博客

官方链接: 安装 - PaddleOCR 文档

下载预训练模型

python 复制代码
# 下载 PP-OCRv5_server_det 预训练模型
wget https://paddle-model-ecology.bj.bcebos.com/paddlex/official_pretrained_model/PP-OCRv5_server_det_pretrained.pdparams

# 下载 PP-OCRv5_server_rec 预训练模型
wget https://paddle-model-ecology.bj.bcebos.com/paddlex/official_pretrained_model/PP-OCRv5_server_rec_pretrained.pdparams

训练

源码结构:

配置文件:

接下来让我们看一下配置文件。

所有模型 配置文件路径是:

PaddleOCR-main/configs

我们现在要使用的配置文件是:

/mnt/svip/lmz/PyPro/PaddleOCR/test/PaddleOCR-main/configs/det/PP-OCRv5/PP-OCRv5_server_det.yml

/mnt/svip/lmz/PyPro/PaddleOCR/test/PaddleOCR-main/configs/rec/PP-OCRv5/PP-OCRv5_server_rec.yml

参数介绍:

PP-OCRv5_server_det.yml

一、Global(全局配置)

这部分是整个训练过程的全局控制参数,影响整体训练流程。

参数 含义 取值说明
model_name 模型名称 指定使用 PP-OCRv5_server_det 静态模型进行推理,用于标识训练的模型版本
debug 调试模式 false 表示关闭调试(生产训练建议关闭),true 会输出更多调试信息
use_gpu 是否使用 GPU true 启用 GPU 训练(大幅提升速度),false 使用 CPU(仅测试 / 低配环境)
epoch_num 训练轮数 500 表示模型会完整遍历训练集 500 次(&epoch_num 是 YAML 锚点,方便其他地方复用该值)
log_smooth_window 日志平滑窗口 计算 20 个批次的平均日志指标(如 loss),让日志曲线更平滑
print_batch_step 日志打印间隔 每训练 10 个批次,打印一次训练日志(loss、lr 等)
save_model_dir 模型保存目录 训练过程中生成的模型文件会保存到 ./output/PP-OCRv5_server_det
save_epoch_step 模型保存间隔 每训练 10 个 epoch,保存一次模型权重
eval_batch_step 评估间隔 [0, 1500] 表示:从第 0 个 epoch 开始,每训练 1500 个批次,对验证集评估一次
cal_metric_during_train 训练中计算指标 false 表示训练时不计算精度 / 召回率(提升训练速度),仅在 eval 阶段计算
checkpoints 断点续训路径 空值表示从头训练,若填路径则从指定断点恢复训练
pretrained_model 预训练模型路径 使用 PPHGNetV2_B4 预训练权重初始化模型(迁移学习,提升训练效果)
save_inference_dir 推理模型保存路径 空值表示训练时不导出推理模型,训练完成后可单独导出
use_visualdl 可视化工具 false 关闭 VisualDL(Paddle 可视化工具),true 可实时查看 loss / 指标曲线
infer_img 测试推理图片 训练中若需快速测试模型效果,指定单张测试图片路径
save_res_path 推理结果保存路径 测试推理的结果(如检测框坐标)保存到该文件
distributed 分布式训练 true 启用多卡分布式训练(需多 GPU 环境),false 单卡训练
二、Architecture(模型结构)

定义文本检测模型的网络结构,PP-OCRv5 基于 DB(Differentiable Binarization)算法。

参数 含义 取值说明
model_type 模型类型 det 表示检测模型(OCR 分为 det 检测、rec 识别)
algorithm 检测算法 DB 是 PaddleOCR 主流的文本检测算法(可微分二值化)
Transform 数据变换层 空值表示不使用额外变换层
Backbone.name 骨干网络 PPHGNetV2_B4 是 PP-OCRv5 主推的骨干网络(轻量且精度高),det: True 适配检测任务
Neck.name 颈部网络 LKPAN 是 DB 算法的特征融合模块,out_channels: 256 输出特征通道数,intracl: true 启用 intra-class 注意力
Head.name 检测头 PFHeadLocal 是 PP-OCRv5 的检测头,k: 50 是 DiceLoss 的参数,mode: "large" 适配大尺寸文本
三、Loss(损失函数)

定义模型训练的损失计算方式,DB 算法的损失由多部分组成。

参数 含义 取值说明
name 损失函数名称 DBLoss 是 DB 算法的专用损失(包含二值化损失 + 分割损失)
balance_loss 平衡损失权重 true 自动平衡不同损失的权重,避免某类损失占主导
main_loss_type 主损失类型 DiceLoss 是分割任务常用损失(适合文本区域分割)
alpha/beta 损失权重系数 调整不同损失分支的权重(alpha=5 对应二值化损失,beta=10 对应分割损失)
ohem_ratio 难例挖掘比例 3 表示只计算 hardest 3:1 比例的负样本损失(提升模型对难例的学习能力)
四、Optimizer(优化器)

定义模型参数的优化策略,控制模型如何更新权重。

参数 含义 取值说明
name 优化器类型 Adam 是主流的自适应学习率优化器(比 SGD 收敛更快)
beta1/beta2 Adam 超参数 动量相关参数,默认 0.90.999(无需修改)
lr.name 学习率策略 Cosine 余弦退火学习率(先升后降,适合长周期训练)
learning_rate 初始学习率 0.001(8 卡分布式训练的推荐值,单卡需按比例降低,如 0.000125)
warmup_epoch 热身轮数 2 表示前 2 个 epoch 学习率从低到高线性上升(避免初始 lr 过高导致训练不稳定)
regularizer.name 正则化方式 L2 正则化(权重衰减),防止模型过拟合
factor 正则化系数 1e-6 是权重衰减系数(值越小,正则化约束越弱)
五、PostProcess(后处理)

模型输出预测结果后,将特征图转换为文本检测框的过程。

参数 含义 取值说明
name 后处理方法 DBPostProcess 是 DB 算法的专用后处理
thresh 二值化阈值 0.3 表示将预测概率图大于 0.3 的区域视为文本区域
box_thresh 检测框置信度阈值 0.6 过滤掉置信度低于 0.6 的检测框(减少误检)
max_candidates 最大候选框数 1000 限制单张图最多生成 1000 个候选框(防止内存溢出)
unclip_ratio 框膨胀系数 1.5 将检测框向外膨胀 1.5 倍(弥补文本区域收缩,避免框住不全)
六、Metric(评估指标)

定义验证集的评估标准,衡量模型性能。

参数 含义 取值说明
name 评估方法 DetMetric 是文本检测的标准评估方法
main_indicator 核心评估指标 hmean 是 Precision(精确率)和 Recall(召回率)的调和平均(F1-score),是检测任务的核心指标
七、Train(训练集配置)

定义训练集的数据加载、数据增强等流程。

7.1 dataset(数据集配置)
参数 含义 取值说明
name 数据集类型 SimpleDataSet 是 PaddleOCR 通用的数据集加载类
data_dir 图片根目录 训练图片的存放路径
label_file_list 标签文件路径 训练集标签文件(每行格式:图片名\t文本框坐标\t是否忽略
ratio_list 数据采样比例 [1.0] 表示使用 100% 的训练数据
transforms 数据增强 / 预处理流程 按顺序执行以下操作:- DecodeImage:解码图片(BGR 模式,通道在后)- DetLabelEncode:编码检测标签(转换为模型可识别格式)- CopyPaste:文本复制粘贴增强(空值表示关闭)- IaaAugment:基于 imgaug 的数据增强(随机水平翻转、旋转 ±10°、缩放 0.5-3 倍)- EastRandomCropData:随机裁剪图片到 640×640(最多尝试 50 次,保持宽高比)- MakeBorderMap:生成边界概率图(用于计算边界损失)- MakeShrinkMap:生成文本区域收缩图(核心分割标签)- NormalizeImage:归一化(减均值、除标准差,符合预训练模型输入要求)- ToCHWImage:将图片格式从 HWC 转为 CHW(Paddle 要求的输入格式)- KeepKeys:保留模型训练所需的关键字段(图片、各类标签)
7.2 loader(数据加载器)
参数 含义 取值说明
shuffle 打乱数据 true 每 epoch 打乱训练集顺序(避免模型过拟合)
drop_last 丢弃最后不完整批次 false 保留最后一个不足 batch_size 的批次(true 会丢弃,适合严格对齐批次的场景)
batch_size_per_card 单卡批次大小 8 表示每张 GPU 每次加载 8 张图片(批次越大,训练越稳定,但显存占用越高)
num_workers 数据加载线程数 8 启用 8 个线程加载数据(加速数据读取,避免 GPU 等待 CPU)
八、Eval(验证集配置)

定义验证集的数据加载流程(无数据增强,仅基础预处理)。

8.1 dataset(数据集配置)
参数 含义 取值说明
transforms 预处理流程 与训练集的区别:- 无数据增强(IaaAugment/Crop 等)- DetResizeForTest:测试时统一缩放图片(保持比例)- 保留 polys(真实框坐标)、ignore_tags(是否忽略)用于计算指标
8.2 loader(数据加载器)
参数 含义 取值说明
shuffle 打乱数据 false 验证集无需打乱(按顺序评估即可)
batch_size_per_card 单卡批次大小 1 验证集批次大小为 1(确保评估精度,避免批次维度干扰)
num_workers 数据加载线程数 2 验证集数据量小,线程数可减少
九、其他参数
参数 含义
profiler_options 性能分析选项 空值表示关闭性能分析(调试时可开启,分析训练瓶颈)

PP-OCRv5_server_rec.yml

一、Global(全局配置)

控制文本识别模型训练的整体流程和基础参数,是整个训练的 "总开关"。

参数 含义 取值说明
model_name 模型名称 指定 PP-OCRv5_server_rec 静态识别模型,标识训练的模型版本
debug 调试模式 false 关闭调试(生产训练建议),true 输出更多调试日志
use_gpu GPU 启用开关 true 用 GPU 训练(识别模型对 GPU 依赖高,CPU 训练极慢)
epoch_num 训练总轮数 75 表示模型遍历训练集 75 次(识别模型训练轮数远少于检测,因收敛更快)
log_smooth_window 日志平滑窗口 计算 20 个批次的平均指标(如 loss),让日志曲线更平稳
print_batch_step 日志打印间隔 每训练 10 个批次打印一次 loss、lr、准确率等日志
save_model_dir 模型保存目录 训练权重保存到 ./output/PP-OCRv5_server_rec
save_epoch_step 模型保存间隔 每训练 1 个 epoch 保存一次模型(识别模型迭代快,频繁保存便于选最优模型)
eval_batch_step 评估间隔 [0, 2000]:从第 0 个 epoch 开始,每 2000 个批次评估一次验证集
cal_metric_during_train 训练中计算指标 true 训练时同步计算识别准确率(方便实时监控效果,检测模型常关闭以提速)
calc_epoch_interval 按 epoch 评估间隔 1 每 1 个 epoch 强制评估一次(补充批次级评估)
pretrained_model 预训练模型路径 空值表示从头训练,填路径则加载预训练权重(推荐使用,提升收敛速度)
checkpoints 断点续训路径 空值表示从头训练,填路径则从指定断点恢复训练
save_inference_dir 推理模型保存路径 空值表示训练时不导出,训练完成后可单独导出为推理模型
use_visualdl 可视化工具 false 关闭 VisualDL,true 可可视化 loss / 准确率曲线
infer_img 测试推理图片 训练中快速测试模型识别效果的单张图片路径
character_dict_path 字符字典路径 ./ppocr/utils/dict/ppocrv5_dict.txt 是识别字符的字典文件(包含数字、字母、中文等)
max_text_length 最大文本长度 25(YAML 锚点 &max_text_length 供其他模块复用),限制识别文本的最大字符数,超过则截断
infer_mode 推理模式 false 表示训练模式,true 为纯推理模式(关闭训练相关逻辑)
use_space_char 是否识别空格 true 支持识别文本中的空格(如 "AB CD"),false 则忽略空格
distributed 分布式训练 true 启用多卡分布式训练(多 GPU 环境必备)
save_res_path 推理结果保存路径 测试推理的识别结果(如 "图片名 \t 识别文本")保存到该文件
d2s_train_image_shape 训练图片尺寸 [3, 48, 320] 表示通道数 3、高度 48、宽度 320(识别模型固定输入尺寸)
二、Optimizer(优化器)

控制模型参数的更新策略,是模型收敛的核心配置。

参数 含义 取值说明
name 优化器类型 Adam 自适应学习率优化器(识别模型首选,收敛快、稳定性高)
beta1/beta2 Adam 超参数 动量相关参数,0.9/0.999 是业界通用值(无需修改)
lr.name 学习率策略 Cosine 余弦退火学习率(先热身上升,后余弦下降,适合识别模型短周期训练)
learning_rate 初始学习率 0.0005(分布式训练推荐值,单卡需按 batch_size 比例降低,如 0.0000625)
warmup_epoch 热身轮数 1 前 1 个 epoch 学习率从低到高线性上升(避免初始 lr 过高导致训练震荡)
regularizer.name 正则化方式 L2 权重衰减(防止模型过拟合)
factor 正则化系数 3.0e-05 权重衰减系数(值越小,正则化约束越弱,识别模型系数通常比检测小)
三、Architecture(模型结构)

定义 PP-OCRv5 文本识别模型的网络结构,核心是 SVTR_HGNet 算法。

参数 含义 取值说明
model_type 模型类型 rec 表示识别模型(区别于检测 det
algorithm 识别算法 SVTR_HGNet 是 PP-OCRv5 主推的识别算法(基于 SVTR 结构 + PPHGNetV2 骨干)
Transform 数据变换层 空值表示不使用额外变换层
Backbone.name 骨干网络 PPHGNetV2_B4 轻量高性能骨干网络,text_rec: True 适配文本识别任务(调整网络输出适配序列建模)
Head.name 识别头 MultiHead 多输出头(同时包含 CTCHead 和 NRTRHead,提升识别精度)
Head.head_list[0].CTCHead CTC 识别头 工业界主流的识别头(无需对齐字符,鲁棒性强):- Neck.name: svtr:SVTR 特征提取模块- dims: 120:SVTR 维度- depth: 2:SVTR 层数- hidden_dims: 120:隐藏层维度- kernel_size: [1, 3]:卷积核尺寸- use_guide: True:启用引导注意力机制(提升长文本识别效果)- Head.fc_decay: 0.00001:全连接层权重衰减系数
Head.head_list[1].NRTRHead NRTR 识别头 辅助识别头(基于注意力机制,提升复杂文本识别精度):- nrtr_dim: 384:NRTR 维度- max_text_length: *max_text_length:复用全局配置的最大文本长度
四、Loss(损失函数)

定义模型训练的损失计算方式,多识别头对应多损失。

参数 含义 取值说明
name 损失函数名称 MultiLoss 多损失函数(对应 MultiHead 多识别头)
loss_config_list 损失配置列表 - CTCLoss:CTC 损失(对应 CTCHead,识别任务核心损失)- NRTRLoss:NRTR 损失(对应 NRTRHead,辅助损失)注:MultiLoss 会自动融合两种损失,提升模型泛化能力
五、PostProcess(后处理)

将模型输出的概率分布转换为最终识别文本的过程。

参数 含义 取值说明
name 后处理方法 CTCLabelDecode 基于 CTC 算法的标签解码(将模型输出的序列概率转换为字符)
六、Metric(评估指标)

定义验证集的评估标准,衡量识别模型的性能。

参数 含义 取值说明
name 评估方法 RecMetric 文本识别专用评估方法
main_indicator 核心评估指标 acc 识别准确率(正确识别的样本数 / 总样本数,识别任务的核心指标)
七、Train(训练集配置)

定义训练集的数据加载、数据增强等流程(识别模型数据增强更轻量)。

7.1 dataset(数据集配置)
参数 含义 取值说明
name 数据集类型 MultiScaleDataSet 多尺度数据集加载类(支持不同尺寸图片输入)
ds_width 固定宽度 false 不固定宽度(配合多尺度采样)
data_dir 图片根目录 训练图片存放路径
ext_op_transform_idx 扩展增强索引 1 指定数据增强的执行位置(内部参数,无需修改)
label_file_list 标签文件路径 训练集标签文件(每行格式:图片名\t真实文本
transforms 数据预处理 / 增强流程 按顺序执行:- DecodeImage:解码图片(BGR 模式,通道在后)- RecAug:识别专用数据增强(如随机模糊、亮度调整、透视变换等,提升鲁棒性)- MultiLabelEncode:多标签编码(同时生成 CTC 和 NRTR 所需标签,gtc_encode: NRTRLabelEncode 指定 NRTR 标签编码方式)- KeepKeys:保留训练所需字段(图片、CTC 标签、NRTR 标签、文本长度、有效比例)
7.2 sampler(采样器)
参数 含义 取值说明
name 采样器类型 MultiScaleSampler 多尺度采样器(随机选择图片尺寸,提升模型对不同尺寸文本的适应性)
scales 采样尺寸列表 [[320, 32], [320, 48], [320, 64]] 随机选择宽度 320、高度 32/48/64 的尺寸(模拟不同高度的文本)
first_bs 初始批次大小 128(YAML 锚点 &bs 供 loader 复用),多尺度采样的初始批次大小
fix_bs 固定批次大小 false 不固定批次大小(适配多尺度采样)
divided_factor 尺寸整除因子 [8, 16] 宽度 / 高度需分别被 8/16 整除(保证模型下采样后尺寸为整数)
is_training 训练模式 True 采样器适配训练场景(打乱、多尺度)
7.3 loader(数据加载器)
参数 含义 取值说明
shuffle 打乱数据 true 每 epoch 打乱训练集(避免模型过拟合)
batch_size_per_card 单卡批次大小 128(复用锚点 &bs),每张 GPU 每次加载 128 张图片(识别模型显存占用低,可设较大批次)
drop_last 丢弃最后批次 true 丢弃最后一个不足 batch_size 的批次(保证批次完整性,提升训练稳定性)
num_workers 加载线程数 16 启用 16 个线程加载数据(识别数据量通常大,多线程加速读取)
八、Eval(验证集配置)

定义验证集的数据加载流程(无数据增强,固定尺寸)。

8.1 dataset(数据集配置)
参数 含义 取值说明
name 数据集类型 SimpleDataSet 通用数据集加载类(验证集无需多尺度)
data_dir 图片根目录 验证集图片存放路径
label_file_list 标签文件路径 验证集标签文件
transforms 预处理流程 与训练集的区别:- 无 RecAug 数据增强(保证评估准确性)- RecResizeImg:固定调整图片尺寸为 [3, 48, 320](与训练最终尺寸一致)- 保留标签字段用于计算准确率
8.2 loader(数据加载器)
参数 含义 取值说明
shuffle 打乱数据 false 验证集无需打乱(按顺序评估即可)
batch_size_per_card 单卡批次大小 128 验证集批次大小与训练集一致(提升评估速度)
drop_last 丢弃最后批次 false 保留最后批次(不遗漏验证样本)
num_workers 加载线程数 4 验证集数据量小,减少线程数(节省资源)

模型训练:

文本检测--模型训练命令:

python 复制代码
#单卡训练 (默认训练方式)
python3 tools/train.py -c configs/det/PP-OCRv5/PP-OCRv5_server_det.yml \
    -o Global.pretrained_model=./PP-OCRv5_server_det_pretrained.pdparams \
    Train.dataset.data_dir=./ocr_det_dataset_examples \
    Train.dataset.label_file_list='[./ocr_det_dataset_examples/train.txt]' \
    Eval.dataset.data_dir=./ocr_det_dataset_examples \
    Eval.dataset.label_file_list='[./ocr_det_dataset_examples/val.txt]'

#多卡训练,通过--gpus参数指定卡号
python3 -m paddle.distributed.launch --gpus '0,1,2,3' tools/train.py \
    -c configs/det/PP-OCRv5/PP-OCRv5_server_det.yml \
    -o Global.pretrained_model=./PP-OCRv5_server_det_pretrained.pdparams \
    Train.dataset.data_dir=./ocr_det_dataset_examples \
    Train.dataset.label_file_list='[./ocr_det_dataset_examples/train.txt]' \
    Eval.dataset.data_dir=./ocr_det_dataset_examples \
    Eval.dataset.label_file_list='[./ocr_det_dataset_examples/val.txt]'

文本识别--模型训练命令:

python 复制代码
#单卡训练 (默认训练方式)
python3 tools/train.py -c configs/rec/PP-OCRv5/PP-OCRv5_server_rec.yml \
   -o Global.pretrained_model=./PP-OCRv5_server_rec_pretrained.pdparams

#多卡训练,通过--gpus参数指定卡号
python3 -m paddle.distributed.launch --gpus '0,1,2,3'  tools/train.py -c configs/rec/PP-OCRv5/PP-OCRv5_server_rec.yml \
        -o Global.pretrained_model=./PP-OCRv5_server_rec_pretrained.pdparams

模型训练脚本:

python 复制代码
#!/bin/bash
# 脚本名称:model_train.sh
# 功能:执行PaddleOCR表格检测模型训练
# 依赖:已安装PaddleOCR环境和相关依赖包

# 训练命令(保持原始参数不变)
# Global.pretrained_model:预训练模型路径
# Train.dataset.data_dir:训练集路径
# Train.dataset.label_file_list:训练集标签路径
# Eval.dataset.data_dir:验证集路径
# Eval.dataset.label_file_list:验证集标签路径
# Global.save_model_dir:训练完模型保存路径

# PP-OCRv5_server_det
python3 tools/train.py -c configs/det/PP-OCRv5/PP-OCRv5_server_det.yml \
  -o Global.pretrained_model=/xxx/PP-OCRv5_server_det_pretrained.pdparams \
  Train.dataset.data_dir=/xxx/det/train \
  Train.dataset.label_file_list='[/xxx/det/train.txt]' \
  Eval.dataset.data_dir=/xxx/det/val \
  Eval.dataset.label_file_list='[/xxx/det/val.txt]' \
  Global.save_model_dir=/xxx/det/output

#  PP-OCRv5_server_rec
python3 tools/train.py -c configs/rec/PP-OCRv5/PP-OCRv5_server_rec.yml \
  -o Global.pretrained_model=/xxx/PP-OCRv5_server_rec_pretrained.pdparams \
  Train.dataset.data_dir=/xxx/rec/train \
  Train.dataset.label_file_list='[/xxx/rec/train.txt]' \
  Eval.dataset.data_dir=/xxx/rec/val \
  Eval.dataset.label_file_list='[/xxx/rec/val.txt]' \
  Global.save_model_dir=/xxx/rec/output

# 检查命令执行状态
if [ $? -eq 0 ]; then
  echo "======================================"
  echo "训练任务执行完成!"
  echo "======================================"
else
  echo "======================================"
  echo "训练任务执行失败!请检查错误信息"
  echo "======================================"
  exit 1
fi

模型评估:

您可以评估已经训练好的权重,如,output/PP-OCRv5_server_det/best_accuracy.pdprams

文本检测--模型评估命令:

python 复制代码
# 注意将pretrained_model的路径设置为本地路径。若使用自行训练保存的模型,请注意修改路径和文件名为{path/to/weights}/{model_name}。
 # demo 测试集评估
python3 tools/eval.py -c configs/det/PP-OCRv5/PP-OCRv5_server_det.yml \
    -o Global.pretrained_model=output/PP-OCRv5_server_det/best_accuracy.pdparams \
    Eval.dataset.data_dir=./ocr_det_dataset_examples \
    Eval.dataset.label_file_list='[./ocr_det_dataset_examples/val.txt]'

文本识别--模型评估命令:

python 复制代码
#注意将pretrained_model的路径设置为本地路径。若使用自行训练保存的模型,请注意修改路径和文件名为{path/to/weights}/{model_name}。
#demo 测试集评估
python3 tools/eval.py -c configs/rec/PP-OCRv5/PP-OCRv5_server_rec.yml -o \
Global.pretrained_model=output/xxx/xxx.pdparams

模型导出

文本检测--模型导出命令:

python 复制代码
python3 tools/export_model.py -c configs/det/PP-OCRv5/PP-OCRv5_server_det.yml -o \
    Global.pretrained_model=output/PP-OCRv5_server_det/best_accuracy.pdparams \
    Global.save_inference_dir="./PP-OCRv5_server_det_infer/"

文本识别--模型导出命令:

python 复制代码
python3 tools/export_model.py -c configs/rec/PP-OCRv5/PP-OCRv5_server_rec.yml -o \
Global.pretrained_model=output/xxx/xxx.pdparams \
Global.save_inference_dir="./PP-OCRv5_server_rec_infer/"

模型导出脚本:

python 复制代码
#!/bin/bash
# 脚本名称:model_export.sh
# 功能:执行PaddleOCR表格检测模型转换
# 依赖:已安装PaddleOCR环境和相关依赖包

# 训练命令(保持原始参数不变)
# Global.pretrained_model:训练完模型路径
# Global.save_inference_dir:静态图模型导出到的路径

#PP-OCRv5_server_det
python3 tools/export_model.py -c configs/det/PP-OCRv5/PP-OCRv5_server_det.yml -o \
    Global.pretrained_model=/xxx/det/best_accuracy.pdparams \
    Global.save_inference_dir="/xxx/output/det/export_model/"

#PP-OCRv5_server_rec
python3 tools/export_model.py -c configs/rec/PP-OCRv5/PP-OCRv5_server_rec.yml -o \
    Global.pretrained_model=/xxx/rec/best_accuracy.pdparams \
    Global.save_inference_dir="/xxx/output/rec/export_model/"

# 检查命令执行状态
if [ $? -eq 0 ]; then
  echo "======================================"
  echo "导出任务执行完成!"
  echo "======================================"
else
  echo "======================================"
  echo "导出任务执行失败!请检查错误信息"
  echo "======================================"
  exit 1
fi

导出模型后,静态图模型会存放于当前目录的./PP-OCRv5_server_rec_infer/中,在该目录下,您将看到如下文件:

./PP-OCRv5_server_rec_infer/

├── inference.json

├── inference.pdiparams

├── inference.yml

相关推荐
2401_833197731 小时前
用Python制作一个文字冒险游戏
jvm·数据库·python
落地加湿器2 小时前
ReAct源码解读-一轮循环
人工智能·智能体·react框架·源码解读
万粉变现经纪人2 小时前
如何解决 pip install cx_Oracle 报错 未找到 Oracle Instant Client 问题
数据库·python·mysql·oracle·pycharm·bug·pip
sw1213892 小时前
使用Plotly创建交互式图表
jvm·数据库·python
2301_810160952 小时前
如何为开源Python项目做贡献?
jvm·数据库·python
液态不合群2 小时前
OpenCV多线程编程:从单线程到多线程的视频处理
人工智能·opencv·音视频
若惜2 小时前
selenium自动化测试web自动化测试 框架封装Pom
前端·python·selenium
ZPC82102 小时前
OLOv11 + 深度相机的方案实现高精度3D定位
人工智能·数码相机·算法·机器人
星辰yzy2 小时前
个人用户怎么选AI套餐更划算
人工智能