前两天开始尝试使用ddddocr训练离线模型,期间遇到了各种问题,费了一番周折,最后还算顺利解决了,记录一下,避免大家遇坑。
ddddocr
ddddocr训练工具
这是Gitee上作者的仓库,GitHub上的是一样的,大家可以自己去找。ddddocr的使用方法在这里我就不多说了,这里主要讲的是训练遇到的问题。
环境配置参考训练工具仓库内的Markdown文档说明,需要注意的是pytorch的CUDA版本需要自己在官网上下载安装,其他都简单,按照操作步骤一步步来就行。
环境搭好后,下载压缩文件并解压缩到本地,按照requirements.txt上依赖的库安装python包,这个也不用多说了,大家应该都会的。
python app.py create {project_name}
python app.py cache {project_name} /images/
代码运行完后,会在{project_name} /cache文件夹下创建两个文件cache.train.tmp和cache.val.tmp,里面记录的就是images文件夹下面的图片信息。
python app.py train {project_name}
解决办法:该问题为训练照片数据太少,至少需要1200张图片,增加训练照片即可解决该问题。
解决办法:找到{project_name} /checkpoint文件夹,删除该文件夹下所有的文件
解决办法:检查一下硬盘空间是否已经撑满,换一个大容量的硬盘继续训练。继续训练时,可能出现如下报错:
解决办法:找到{project_name} /checkpoint文件夹,按照创建时间排序,删除最近创建的几个压缩包即可继续训练。
解决办法:查看红色报错的文件名称找到该图片,检查图片是否已损坏,直接删除即可继续训练。
解决办法:该报错是使用了旧版的代码导致,找到dddd_trainer-main/nets/_init_.py文件,第216行,删除__retain_param_name参数即可。或者重新下载作者最新的代码也行。
解决办法:打开cmd,输入pip install onnx,安装即可。