当前位置:   article > 正文

paddleocr实验过程

paddleocr实验过程

切割数据

Paddleocr/PPOCRLabel/gen_ocr_train_val_test.py;切割后的数据在train_data中,注意切割后的数据前缀默认是当前目录,因此建议切割数据在liunx中进行。建议在liunx中指定

python gen_ocr_train_val_test.py --datasetRootPath==XX

或者修改下面--datasetRootPath中的default

  1. if __name__ == "__main__":
  2. # 功能描述:分别划分检测和识别的训练集、验证集、测试集
  3. # 说明:可以根据自己的路径和需求调整参数,图像数据往往多人合作分批标注,每一批图像数据放在一个文件夹内用PPOCRLabel进行标注,
  4. # 如此会有多个标注好的图像文件夹汇总并划分训练集、验证集、测试集的需求
  5. parser = argparse.ArgumentParser()
  6. parser.add_argument(
  7. "--trainValTestRatio",
  8. type=str,
  9. default="8:2:0",
  10. help="ratio of trainset:valset:testset")
  11. parser.add_argument(
  12. "--datasetRootPath",
  13. type=str,
  14. default="./xia/",
  15. help="需要切割的数据path to the dataset marked by ppocrlabel, E.g, dataset folder named 1,2,3..."
  16. )
  17. parser.add_argument(
  18. "--detRootPath",
  19. type=str,
  20. default="../train_data/det",
  21. help="the path where the divided detection dataset is placed")
  22. parser.add_argument(
  23. "--recRootPath",
  24. type=str,
  25. default="../train_data/rec",
  26. help="the path where the divided recognition dataset is placed"
  27. )
  28. parser.add_argument(
  29. "--detLabelFileName",
  30. type=str,
  31. default="Label.txt",
  32. help="the name of the detection annotation file")
  33. parser.add_argument(
  34. "--recLabelFileName",
  35. type=str,
  36. default="rec_gt.txt",
  37. help="the name of the recognition annotation file"
  38. )
  39. parser.add_argument(
  40. "--recImageDirName",
  41. type=str,
  42. default="crop_img",
  43. help="the name of the folder where the cropped recognition dataset is located"
  44. )

如果在Win中切割,放入liunx中训练。前缀可能如下

常见的Liunx命令

切换路径:cd /路径

编辑或者创建文档:vim 

                                 仅退出vim,先按ESC,再shift+:,在底部看到:,输入q或者q!

                                 改动完退出vim,先按ESC,再shift+:,在底部看到:,输入wq

复制文件:单个文件:cp XXX  YYY  ;文件夹:cp -rf XXX YYY

删除文件:rm -rf XXX

det

训练

1、打开tmux窗口启动,这样断开连接后台可以继续训练

2、根据需求修改配置文件,如输出名称,数据集位置,注意暂时不要改吧epoch,训练容易报错

shell命令如下,创建和修改shell后需要

创建:vim XXX.sh 

修改权限:chmod +x XXX.sh 

  1. #首先使用该命令打开tmux窗口: tmux attach -t my_session_name
  2. #根据任务修改configs
  3. python3 -m paddle.distributed.launch --gpus '0' tools/train.py
  4. -c ./configs/det/ch_PP-OCRv4/训练使用的配置文件.yml
  5. -o Global.pretrained_model=./pretrain_models/PPHGNet_small_ocr_det.pdparams

推理

  1. python3 tools/export_model.py
  2. -c ./configs/det/ch_PP-OCRv4/训练使用的配置文件.yml
  3. -o Global.pretrained_model=./output/训练输出文件夹名称/best_accuracy
  4. Global.save_inference_dir=./inference/输出文件夹名称/

 配置文件位置:/data/ocr/PaddleOCR-2.7.5/configs/det

  1. #使用命令修改配置文件
  2. #-o参数在不需要修改yml文件的情况下,改变训练的参数,比如,调整训练的学习率为0.0001
  3. python3 tools/train.py -c configs/det/det_mv3_db.yml
  4. -o Optimizer.base_lr=0.0001

也可以直接修改额配置文件,如/data/ocr/PaddleOCR-2.7.5/configs/det/ch_PP-OCRv4/ch_PP-OCRv4_det_teacher.yml

修改训练得到模型地址

 修改数据集:

 

修改batch_size:

Rec:

训练

  1. # tmux attach -t my_session_name
  2. python3 -m paddle.distributed.launch --gpus '0' tools/train.py
  3. -c configs/rec/PP-OCRv4/配置文件.yml
  4. -o
  5. Global.pretrained_model=./pretrain_models/en_PP-OCRv4_rec_train/best_accuracy

 配置文件位置:/data/ocr/PaddleOCR-2.7.5/configs/rec 

推理

  1. python3 tools/export_model.py
  2. -c configs/rec/PP-OCRv4/训练配置文件.yml
  3. -o Global.pretrained_model=/data/ocr/PaddleOCR-2.7.5/output/训练输出文件夹/best_model/model
  4. Global.save_inference_dir=./inference/推理输出文件夹/

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

闽ICP备14008679号