paddleocr 训练自己的数据,详细笔记

本文详细介绍了如何使用PaddleOCR进行深度学习 OCR 的训练,包括数据集制作、字库修改、训练过程、数据增强、模型优化及模型导出等步骤,同时分享了作者在训练过程中遇到的问题及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

算法原理

第一步 制作数据集

 数据标注工具:

可视化标注:

一定要制作数据集:

xml格式转paddleocr格式

第二部 改字库

修改分辨率

训练

数据集加载方式

DecodeImage修改去掉

数据增强

EastRandomCropData

参数文件:

2.4版本预训练:

修改模型保存间隔

训练记录:

优化器:

报错解决

通用验证:

 识别推理,我自己稍微调整了一下

导出模型

导出onnx

自己的优化心得笔记

ocr检测标签转换


算法原理

标注是用关键点标注的,

可视化标注:

paddlecor可视化标注_AI视觉网奇的博客-优快云博客

网络是用分割处理的,证据:

db_postprocess.py中

类:

class DBPostProcess(object):

函数: 

    def boxes_from_bitmap(self, pred, _bitmap, dest_width, dest_height):
        '''
        _bitmap: single map with shape (1, H, W),
                whose values are binarized as {0, 1}
        '''

        bitmap =
### 使用 PaddleOCR 2.9.1 进行训练 #### 配置环境 为了顺利使用 PaddleOCR 2.9.1 进行训练,需先确保已正确安装并配置好所需依赖项。这通常涉及 Python 和 PaddlePaddle 的版本匹配以及必要的硬件支持验证。 对于特定显卡(如 H100),可能存在兼容性问题,在某些情况下会抛出错误提示 `terminate called after throwing an instance of 'thrust::system::system_error'`[^4]。因此建议提前查阅官方文档确认所使用的 GPU 是否被完全支持,并按照指导调整设置或更新驱动程序来解决问题。 #### 准备数据集 构建高质量的数据集是实现良好性能的基础之一。可以根据实际应用场景收集图片样本,并标注对应的文本信息形成键值对形式的标签文件。当现有公开资源无法满足需求时,则考虑自行创建适合业务特点的小规模定制化数据集合[^1]。 #### 修改配置文件 进入 PaddleOCR 源码目录下的 config 文件夹内找到对应任务类型的 yaml 格式的参数定义表单。这里主要关注以下几个方面: - **学习率**:决定了权重更新的速度大小;过高容易引起震荡不收敛而过低又会使迭代次数过多浪费时间成本。 - **正则化系数**:用于防止过拟合现象的发生,保持泛化能力的同时提高预测准确性。 - **评估标准**:设定合理的度量方式以便于监控模型效果变化趋势及时作出相应优化措施。 ```yaml Global: epoch_num: 500 log_smooth_window: 20 print_batch_step: 10 save_epoch_step: 5 eval_batch_step: [0, 500] train_batch_size_per_card: 64 infer_img: ./train_data/icdar2015/text_localization/imgs_words/word_1.png Optim: name: Adam beta1: 0.9 beta2: 0.999 lr: learning_rate: 0.001 Regularization: use_distill: false ``` #### 开始训练过程 完成上述准备工作之后就可以启动正式的训练流程了。一般而言有两种途径可供选择——命令行界面CLI 或者 Jupyter Notebook 笔记本模式。前者更适合批量处理大规模作业调度安排后者便于交互式探索调试代码逻辑结构。 通过 CLI 方式只需输入如下指令即可触发整个工作流: ```bash cd /path/to/PaddleOCR/ python3 tools/train.py -c configs/rec/ch_PP-OCRv3_rec.yml --use_gpu=True ``` 此操作将会读取指定路径中的 YAML 配置描述符加载相应的网络架构实例化对象接着依据给定条件循环执行前向传播计算损失函数反向传递梯度直至达到预定终止条件为止[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值