Ocr之PaddleOcr模型训练-二、训练前的准备

时间:2024-03-09 07:59:42

1. 下载源码

切换到 /paddle/目录下 下载源码

cd /paddle
git clone https://gitee.com/paddlepaddle/PaddleOCR.git
# 切换版本
git checkout origin/release/2.7

2. 预模型下载

注:预训练模型:已经训练好的模型。在此模型基础上训练,对生成新的模型进行增强

  • 模型下载gitee.paddleocr 可直接跳转至下方页面对模型进行下载 这里参考的文章 >> |

在这里插入图片描述

注:进入PP-OCR系列模型下载页面
注:此处下载的训练模型内容是 ch_det_mobile_v2.0_det ( 跟随参考文章 )
在这里插入图片描述

  • 下载后在docker容器中创建目录将模型保存至目录中

注:首先创建目录

mkdir /paddle/PaddleOCR/Preliminary_training

在这里插入图片描述

  • 使用公开数据集

注:可训练自己的数据集,这里跳过,直接使用公开数据集 训练自己的数据集 参考文章 >>|
注:公开数据集下载说明 >>|
注:共3部分 下载图片和标注
在这里插入图片描述
注:进入网站进行下载时需要注册登录
在这里插入图片描述注:下图就是下载后的内容
注:下载的文件需要对文件夹名称做修改(留作彩蛋,文章后面会说) 去那 >>|
在这里插入图片描述

3. 修改模型训练文件yml

注:修改预训练模型的位置。修改use_gpu: false(因本机使用的是cpu)
在这里插入图片描述

4. 将下载的训练集进行编排

注:编排如图
在这里插入图片描述

5. 执行脚本进行训练

注:选择配置文件进行训练,这里选择 ./configs/det/det_mv3_db.yml det_mv3_db的意思基于db和mobileNetV3算法的文本检测配置文件
注:处理执行时遇到的问题

  • 问题1:处理模块不存在问题
    ModuleNotFoundError: No module named 'skimage' , 'imgaug', 'pyclipper', 'tqdm', 'rapidfuzz'

注:安装相关模块进行解决

# 安装图像处理模块
pip install scikit-image
# 安装图像增强模块
pip install imgaug
# 安装形状裁剪模块
pip install pyclipper
# 安装嵌入式数据库模块
pip install lmdb
# 安装进度条库
pip install tqdm
# 安装字符串匹配库
pip install rapidfuzz
  • 问题2:对象无此属性错误
    在这里插入图片描述注:编辑报错文件/paddle/PaddleOCR/tools/program.py 进行修改。将dist.ParallelEnv().dev_id 为 dist.get_rank()
    错误处理参考文章 >> |

在这里插入图片描述

6. 修改文件夹名称(彩蛋)

注:修改训练文件夹 ch4_training_images 为 标注文件中(train_icdar2015_label.txt)图片路径的名称 icdar_c4_train_imgs
注:或者修改标注文件的内容也可以,保持一致。避免执行训练脚本时报错
在这里插入图片描述注:查看标注文件 train_icdar2015_label.txt

cat ./train_data/icdar2015/text_localization/train_icdar2015_label.txt

在这里插入图片描述
注:故将ch4_training_images 文件夹名称改成 icdar_c4_train_imgs/
在这里插入图片描述