paddleOCR识别模型训练流程;dify返回格式踩坑;

1.paddleOCR识别模型训练流程
参考文章如下:

制作rec数据集
rec是用来训练文字识别的数据集。
制作rec数据集时,需要将数据集合分为训练集和测试集:
我使用的是官方的训练集和测试集分法gen_ocr_train_val_test.py
这个文件是在PPOCRLabel本地文件处:
我需要知道PPOCRLabel安装位置,使用以下命令可以找到windows本机的PPOCRLabel位置:
python -c "import PPOCRLabel, os; print(os.path.dirname(PPOCRLabel.__file__))"

运行以下命令分训练集和测试集:

python gen_ocr_train_val_test.py ^
  --datasetRootPath C:\Users\asphyxiasea\Desktop\linke_data ^
  --detRootPath C:\Users\asphyxiasea\Desktop\linke_data\det ^
  --recRootPath C:\Users\asphyxiasea\Desktop\linke_data\rec ^
  --trainValTestRatio 8:2:0(不需要测试集)

下载预训练模型训练文件(不是推理模型)

准备训练模型的配置模型文件(主要是用来设置训练时的各种参数)
我使用的是官方默认的configs/rec/PP-OCRv5/PP-OCRv5_server_rec.yml

启动训练
python tools/train.py -c configs/rec/PP-OCRv5/PP-OCRv5_server_rec.yml

训练模型导出
模型训练完以后,用导出

python3 PaddleOCR/tools/export_model.py -c PaddleOCR/configs/rec/PP-OCRv5/PP-OCRv5_server_rec.yml -o \
Global.pretrained_model=output/PP-OCRv5_server_rec/best_accuracy.pdparams \

以下配置可以在.yml文件中配置好:
Global.save_inference_dir="./PP-OCRv5_server_rec_infer/"

python PaddleOCR/tools/infer/predict_system.py --image_dir="assets/义元(桂R-SC-CO-007-2022).JPG" --det_model_dir="./paddle_models/PP-OCRv5_server_det_infer" --rec_model_dir="./paddle_models/PP-OCRv5_server_rec_infer"

2.dify返回格式踩坑;
在 Dify 中,如果你配置了外部 API 或代码节点(Code Node)返回上述 JSON 数据,但最终获取到的结果却是 {'data': []},通常是因为 数据结构嵌套不匹配 或 输出变量配置错误 导致的。

posted @ 2026-01-23 11:51  asphyxiasea  阅读(3)  评论(0)    收藏  举报