Surya OCR 微调实战:一条命令跑通训练,8 个关键参数全解
Surya OCR 微调实战一条命令跑通训练8 个关键参数全解【免费下载链接】suryaOCR, layout analysis, reading order, table recognition in 90 languages项目地址: https://gitcode.com/GitHub_Trending/su/suryaSurya 是一个支持 90 多种语言的 OCR 工具包文本检测、版面分析、文本识别、表格识别四项能力齐备。通用预训练模型在你的发票、手写单据、医学影像等特定领域上往往精度不够用自己领域的图文数据做一次 Surya OCR 微调就是最直接的补法。这篇实战带你把一次微调从头跑通并验证效果一条命令启动训练8 个参数各有明确作用训练完用基准脚本核对指标。环境与数据一次备齐 ️本节把仓库、依赖、数据集三件事一次交代清楚约 10 分钟完成。先拿到代码并装好依赖git clone https://gitcode.com/GitHub_Trending/su/surya cd surya poetry install --with dev所有依赖都定义在 pyproject.toml 里--with dev会额外安装开发依赖组其中的datasets库专门用来加载和处理训练数据。数据集必须是 HuggingFace Datasets 格式且每条样本包含两个字段image含文本的图像text图像中对应的文本不确定结构时先照官方示例datalab-to/ocr_finetune_example的字段布局建自己的集之后在训练命令里用--dataset_name换成你自己的即可。数据量与相关性两条底线先记着至少 1000 张图像且标注内容要与目标场景高度相关。一条命令跑通 Surya OCR 微调环境就绪后整次微调就是一条命令。以识别表单场景为例poetry run python surya/scripts/finetune_ocr.py \ --pretrained_checkpoint_path 预训练模型路径 \ --dataset_name 你的HF数据集名 \ --output_dir ./fine_tuned_model \ --num_train_epochs 10 \ --per_device_train_batch_size 8 \ --learning_rate 2e-5 \ --logging_steps 100 \ --save_steps 500每个参数的含义如下表按需调整即可参数含义pretrained_checkpoint_path起点预训练模型权重路径dataset_name训练数据集HF Datasets 名称或路径output_dir训练产物checkpoint 与最终权重的保存位置num_train_epochs完整遍历数据集的轮数示例取 10per_device_train_batch_size单卡批大小显存不足就调小learning_rate学习率微调建议 2e-5 起步logging_steps每多少步打印一次训练日志save_steps每多少步落盘一个 checkpoint这次训练到底在做什么finetune_ocr.py基于 HuggingFace Transformers 实现内部由四块组成数据集类SuryaOCRDataset读取image/text样本并完成图像预处理数据整理器SuryaOCRDataCollator把样本打包成形状规整的训练批次load_model_and_processor加载预训练权重与配套处理器main解析命令行参数初始化上述组件后交给Trainer启动训练也就是说数据怎么读、批次怎么拼、模型从哪加载脚本都已固定你只需要给对参数。验证效果与打磨结果训练跑完打开benchmark/recognition.py里的基准脚本对微调前后各评一次重点盯两个指标准确率和字符错误率。字符错误率降了微调才算数。如果输出里还有杂音用surya/recognition/postprocessing.py里的三个后处理函数打磨它们各管一类问题函数处理的输出问题truncate_repetitions截断重复生成的文本cleanup_math清理数学公式的格式残留fix_unbalanced_tags修复未闭合的标签对包含数学公式或特殊格式的文档这三步收益最直接。调好之后模型可以落地到三类常见任务文档数字化纸质转可编辑文本、多语言内容提取90 语言文本抽取、表格结构化识别表格转结构化数据。快速参考卡项目建议值 / 位置常见坑安装命令poetry install --with dev漏装 dev 组datasets库缺失数据集格式HF Datasets含image/text字段字段名写错导致读取失败示例数据集datalab-to/ocr_finetune_example结构照抄内容必须换成自己领域的数据量底线≥ 1000 张图像量太少或场景不符调参也救不回来学习率2e-5 起步过大导致训练不稳、指标回退微调脚本surya/scripts/finetune_ocr.py依赖 HF Transformers勿换推理入口运行基准评估benchmark/recognition.py只跑一遍不前后对比看不出提升幅度后处理函数surya/recognition/postprocessing.py有重复/公式残留时再启用别默认全开微调本身到此收束环境、数据、命令、验证四件事都过了模型就能用。若训练或评估环节卡住直接到仓库的 Issues 区提报问题附上参数与报错即可。【免费下载链接】suryaOCR, layout analysis, reading order, table recognition in 90 languages项目地址: https://gitcode.com/GitHub_Trending/su/surya创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

最新新闻

日新闻

周新闻

月新闻