Files
fcb_photo_review/document/PaddleOCR命令.md
2025-08-20 13:58:50 +08:00

4.4 KiB
Raw Blame History

PaddleOCR


数据集

该部分内容均在PPOCRLabel目录下进行

# 进入PPOCRLabel目录
cd .\PPOCRLabel\

打标

可以对PPOCRLabel.py直接使用PyCharm中的Run但是默认是英文的

# 以中文运行打标应用
python PPOCRLabel.py --lang ch
# 含有关键词提取的打标
python PPOCRLabel.py --lang ch --kie True

划分数据集

python gen_ocr_train_val_test.py --trainValTestRatio 6:2:2 --datasetRootPath ../train_data/drivingData

检测模型

先回到项目根目录

训练

python tools/train.py -c configs/det/ch_PP-OCRv4/ch_PP-OCRv4_det_student.yml

测试

python tools/infer_det.py -c configs/det/ch_PP-OCRv4/ch_PP-OCRv4_det_student.yml -o Global.pretrained_model=output/det_v4_bankcard/best_accuracy.pdparams Global.infer_img=train_data/drivingData/1.jpg

恢复训练

python tools/train.py -c configs/det/ch_PP-OCRv4/ch_PP-OCRv4_det_student.yml -o Global.checkpoints=./output/det_v4_bankcard/latest

识别模型

训练

python tools/train.py -c configs/rec/PP-OCRv4/ch_PP-OCRv4_rec_ampO2_ultra.yml

测试

python tools/infer_rec.py -c configs/rec/PP-OCRv4/ch_PP-OCRv4_rec_ampO2_ultra.yml -o Global.pretrained_model=output/rec_v4_bankcard/best_accuracy.pdparams Global.infer_img=train_data/drivingData/crop_img/1_crop_0.jpg

推理模型

检测模型转换

python tools/export_model.py -c configs/det/ch_PP-OCRv4/ch_PP-OCRv4_det_student.yml -o Global.pretrained_model=output/det_v4_bankcard/best_accuracy.pdparams

识别模型转换

python tools/export_model.py -c configs/rec/PP-OCRv4/ch_PP-OCRv4_rec_ampO2_ultra.yml -o Global.pretrained_model=output/rec_v4_bankcard/best_accuracy.pdparams

检测识别测试

python tools/infer/predict_system.py --det_model_dir=inference_model/det_v4_bankcard --rec_model_dir=inference_model/rec_v4_bankcard --rec_char_dict_path=ppocr/utils/num_dict.txt --image_dir=train_data/drivingData/1.jpg

移动端模型

检测模型转换

paddle_lite_opt --model_file=inference_model/det_v4_bankcard/inference.pdmodel  --param_file=inference_model/det_v4_bankcard/inference.pdiparams  --optimize_out=inference_model/det_v4_nb_bankcard --valid_targets=arm  --optimize_out_type=naive_buffer

识别模型转换

paddle_lite_opt --model_file=inference_model/rec_v4_bankcard/inference.pdmodel  --param_file=inference_model/rec_v4_bankcard/inference.pdiparams  --optimize_out=inference_model/rec_v4_nb_bankcard --valid_targets=arm  --optimize_out_type=naive_buffer


PaddleNLP

数据集

使用Label Studio进行数据标注安装过程省略

# 打开Anaconda Prompt
# 激活安装Label Studio的环境
conda activate label-studio
# 启动Label Studio
label-studio start

打标流程

数据转换

# 进入PaddleNLP\applications\information_extraction后执行
python label_studio.py --label_studio_file ./document/data/label_studio.json --save_dir ./document/data --splits 0.8 0.1 0.1 --task_type ext

训练模型

# 进入PaddleNLP\applications\information_extraction\document后执行(双卡训练)
python -u -m paddle.distributed.launch --gpus "0,1" finetune.py --device gpu --logging_steps 5 --save_steps 25 --eval_steps 25 --seed 42 --model_name_or_path uie-x-base --output_dir ./checkpoint/model_best --train_path data/train.txt --dev_path data/dev.txt --max_seq_len 512 --per_device_train_batch_size 8 --per_device_eval_batch_size 8 --num_train_epochs 10 --learning_rate 1e-5 --do_train --do_eval --do_export --export_model_dir ./checkpoint/model_best --overwrite_output_dir --disable_tqdm False --metric_for_best_model eval_f1 --load_best_model_at_end True --save_total_limit 1

参考:

PaddleOCR训练属于自己的模型详细教程 端侧部署 PaddleNLP关键信息抽取