当前位置:   article > 正文

2024年PaddleOCR模型训练及使用详细教程_paddleocr设置模型输出(1),那些年HarmonyOS鸿蒙面试官常问的知识点_paddleocr 指定模型

paddleocr 指定模型

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!


img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

PaddleOCR是基于PaddlePaddle深度学习框架的开源OCR工具,但它提供了推理模型/训练模型/预训练模型,用户可以直接使用推理模型进行识别,也可以对训练模型或预训练模型进行再训练。支持约80种语言的文本识别,并具有较高的准确性和速度。

PaddleOCR的官方文档就更加的友好,有好几种语言可供选择,讲述的也更为详细,包括从什么是ocr开始到模型的各种细节都有提到。也经常有更新和维护。
在这里插入图片描述

在这里插入图片描述

PaddleOCR其技术体系包括文字检测、文字识别、文本方向检测和图像处理等模块。以下是其优点:

  1. 高精度:PaddleOCR采用深度学习算法进行训练,可以在不同场景下实现高精度的文字检测和文字识别。
  2. 多语种支持:PaddleOCR支持多种语言的文字识别,包括中文、英文、日语、韩语等。同时,它还支持多种不同文字类型的识别,如手写字、印刷体、表格等。
  3. 高效性:PaddleOCR的训练和推理过程都采用了高效的并行计算方法,可大幅提高处理速度。同时,其轻量化设计也使得PaddleOCR能够在移动设备上进行部署,适用于各种场景的应用。
  4. 易用性:PaddleOCR提供了丰富的API接口和文档说明,用户可以快速进行模型集成和部署,实现自定义的OCR功能。同时,其开源代码也为用户提供了更好的灵活性和可扩展性。
  5. 鲁棒性:PaddleOCR采用了多种数据增强技术和模型融合策略,能够有效地应对图像噪声、光照变化等干扰因素,并提高模型的鲁棒性和稳定性。

Part3. PaddleOCR模型训练环境搭建

语言环境:python

PaddleOCR可通过CPU或GPU进行训练,对应环境配置如下:
在这里插入图片描述

安装模块列表(win11):

① 安装PaddlePaddle:pip install PaddlePaddle
先安装PaddlePaddle再安装PaddleOCR
需要注意的是:
如果机器安装的是 CUDA,执行:pip install paddlepaddle-gpu
如果机器是 CPU,执行: pip install PaddlePaddle

② 安装PaddleOCR whl包:pip install PaddleOCR

③ 安装图形标注工具:pip install PPOCRLabel 或在官网下载
https://github.com/PaddlePaddle/PaddleOCR/tree/release/2.7

在这里插入图片描述
在这里插入图片描述
如果用GPU训练,还需安装CUDA和CUDNN:

④ 安装CUDA:训练中用于加速GPU功能使用和计算
打开终端输入nvidia-smi,看CUDA Version的版本,只要下载这个版本或者这个以下的就可以
NVIDIA官网(https://developer.nvidia.com/cuda-toolkit-archive)
下载CUDA Toolkit并安装

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

⑤ 安装CUDNN : 进入以下网址,需要进行注册下载
NVIDIA官网(https://developer.nvidia.com/cudnn)
在这里插入图片描述

在这里插入图片描述

下载后将cudnn解压为一个文件夹,将以下文件复制到cuda的根目录下

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在系统高级设置中添加如下环境变量:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\include
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\lib
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\libnvvp

Part4. 制作数据集

在这里插入图片描述

PPOCRLabel就是跟PaddleOCR配套的标注工具
前面在介绍环境搭建过程中已下载,直接可以使用

1. 先查看下载的ppocrlabel库所在位置:pip show ppocrlabel

在这里插入图片描述

2. 在PPOCRLabel文件夹下有两个.py文件是制作数据集所需的

在这里插入图片描述

3. PPOCRLabel根目录下,终端运行: python PPOCRLabel.py --lang ch
python PPOCRLabel.py --lang ch # 启动【普通模式】,用于打【检测+识别】场景的标签
python PPOCRLabel.py --lang ch --kie True # 启动【KIE 模式】,用于打【检测+识别+关键字提取】场景的标签

4. 打开后点击文件,点击打开目录选择需要打标签的数据集文件夹,点击左下角自动标注

在这里插入图片描述

5. 然后从第一张开始检查。漏打标的按下Q框出字体;打标文字错误的,点击方框,在右边框里修改,并对每一个方框给出关键词列表(点击编辑点击更改box关键词信息)。支持矩形标注和多点标注,最后删除无用信息,点确认后,切换下一张快捷键为D,如下图所示。
在这里插入图片描述

相关快捷键:
在这里插入图片描述

6. 导出标记结果及识别结果
全部打标完成之后,点击文件选择导出标记结果,再点击文件选择导出识别结果,完成后文件夹里多出四个文件crop_img、fileState、Label、rec_gt。

  • crop_img中的图片用来训练文字识别模型
  • fileState记录图片的打标完成与否
  • Label为训练文字检测模型的标签
  • rec_gt为训练文字识别模型的标签

在这里插入图片描述

命名为train_data文件夹存放的是打标签生成的文件和图片
其结构如下图所示
在这里插入图片描述

7. 将数据集划分(训练集/验证集/测试集)
PPOCRLabel根目录下,终端运行:python gen_ocr_train_val_test.py --trainValTestRatio 6:2:2 –-datasetRootPath xx --detRootPath xx --recRootPath xx

参数说明:

  • trainValTestRatio 是训练集、验证集、测试集的图像数量划分比例,根据实际情况设定,默认是6:2:2
  • datasetRootPath 是PPOCRLabel标注的完整数据集存放路径。默认路径是 …/train_data/
    就是步骤6的结果文件夹train_data文件夹。
  • detRootPath 是输出训练文字检测的数据集存放路径。默认路径是 …/train_data/det
  • recRootPath 是输出训练文字识别的数据集存放路径。默认路径是 …/train_data/rec

输入指令之后,在train_data文件夹下会出现两个文件:
其中det是用来训练文字检测的数据集,
rec是用来训练文字识别的数据集。

在这里插入图片描述

Part5. 训练模型

1. 按需下载文本检测、文本识别的配置文件和训练模型
官方网址:https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.7/doc/doc_ch/models_list.md
在这里插入图片描述
在这里插入图片描述
2. 在PaddleOCR-release-2.7目录下新建pretrain_models文件夹,存放前面下载的配置文件和训练模型

在这里插入图片描述
在这里插入图片描述

3. 训练文字检测模型

3.1 手动修改配置文件ch_PP-OCRv3_det_cml.yml
已列出需要修改的參數,完整參數説明請參考
官方文档https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.7/doc/doc_ch/config.md
在这里插入图片描述
3.2 开始训练
在PaddleOCR-release-2.7根目录下,执行命令开始训练:
python tools/train.py -c pretrain_models/ch_PP-OCRv3_det_cml.yml
模型训练完之后会在文件夹下保存训练好的模型,具体保存的文件夹路径依据配置文件:
save_model_dir: ./output/ch_PP-OCR_v3_det/ # 设置输出训练模型路径

训练过程中产生的模型称为检查点(checkpoints)模型,包含完整参数,用于恢复训练及二次训练。一 个检查点模型包含三个文件:
.pdopt:训练优化器参数
.pdparams:训练网络参数
.states:训练状态
在这里插入图片描述

4. 训练文字识别模型(跟训练文字检测模型步骤几乎一样)

4.1 手动修改配置文件ch_PP-OCRv3_rec_distillation.yml
下面列出需要修改的參數,修改的地方和文字检测修改的类似。
在这里插入图片描述
4.2 开始训练

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

98)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/946111
推荐阅读
相关标签
  

闽ICP备14008679号