PaddleOCR训练自己的数据集(已踩坑windows10)

本文详细介绍了如何使用PaddleOCR训练自己的数据集,包括数据集准备、PPOCRLabel工具的使用、配置文件修改以及训练过程中的常见问题和解决方法。在训练过程中,作者分享了几个关键的踩坑点,如图片与标注文件的位置、配置文件的修改、模型选择以及线程设置等。

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

1.准备数据集

链接放在这里:PaddleOCR/README_ch.md at release/2.1 · PaddlePaddle/PaddleOCR · GitHub

down下来之后准备好自己的数据集

这个crop_img文件夹是通过半自动化处理后把标注的东西截取保存的文件

接下来是PPOCRLabel的打标内容:

命令行附在下面:

cd ./PPOCRLabel #将目录先切换到PPOCRLabel下

python PPOCRLabel.py --lang ch

会出现自动打标的页面

文件>打开目录>选择文件夹>左下角的自动标注

注意!

### 如何使用 PaddleOCR 训练自定义数据集 #### 数据准备 为了训练自定义数据集,需按照指定的目录结构组织数据。以下是典型的文件夹结构[^3]: ``` |-train_data |-rec |- rec_gt_train.txt |- train |- word_001.png |- word_002.jpg |- word_003.jpg ... ``` `rec_gt_train.txt` 文件用于存储标注信息,每一行对应一张图片及其标签。例如: ``` word_001.png label1 word_002.jpg label2 ... ``` 对于验证集 `val` 的标注文件,则命名为 `rec_gt_val.txt` 并存放在相同的路径下。 #### 修改配置文件 PaddleOCR 提供了默认的配置文件模板,位于 `ppocr/configs/` 路径下。针对自定义数据集,需要修改以下几个关键参数[^1]: - **Global 参数**: 设置随机种子、日志间隔等全局变量。 - **Train Dataset 和 Eval Dataset**: 定义训练和验证的数据源路径以及转换方式。 - **Optimizer**: 根据需求调整优化器的学习率和其他超参数。 下面是一个简单的 YAML 配置示例: ```yaml Global: use_gpu: true epoch_num: 50 log_smooth_window: 20 print_batch_step: 10 save_model_dir: ./output/rec_custom/ eval_batch_step: [0, 500] cal_metric_during_train: True Architecture: model_type: rec algorithm: CRNN Transform: null Backbone: name: MobileNetV3 scale: 0.5 Neck: name: SequenceEncoder encoder_type: rnn Head: name: CTCHead fc_decay: 0.0004 Loss: name: CTCLoss Optimizer: name: Adam beta1: 0.9 beta2: 0.999 lr: name: Cosine learning_rate: 0.001 PostProcess: name: CTCLabelDecode Metric: name: RecAccuracy Train: dataset: name: SimpleDataSet data_path: ./train_data/rec/train/ label_file_list: ['./train_data/rec/rec_gt_train.txt'] loader: shuffle: true batch_size_per_card: 64 drop_last: true transform_ops: - DecodeImage: {img_mode: BGR} - ResizeNormForRec: {image_shape: [3, 32, 320]} - KeepKeys: {keep_keys: ['image', 'label']} Eval: dataset: name: SimpleDataSet data_path: ./train_data/rec/val/ label_file_list: ['./train_data/rec/rec_gt_val.txt'] loader: batch_size_per_card: 64 drop_last: false transform_ops: - DecodeImage: {img_mode: BGR} - ResizeNormForRec: {image_shape: [3, 32, 320]} - KeepKeys: {keep_keys: ['image', 'label']} ``` #### 开始训练 完成上述准备工作后,可以运行以下命令启动训练过程: ```bash python tools/train.py -c configs/rec/rec_chinese_lite_train_v3.yaml ``` 如果需要调试模式或者查看更详细的日志输出,可以通过增加 `-o Global.debug=True` 来启用调试选项。 #### 数据校验 在正式训练之前,建议先执行数据校验以确保数据质量良好[^2]。这一步骤可以帮助发现潜在的问题,比如图像损坏或标注错误。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值