ddddorc训练验证码时遇到的各种问题汇总
前两天开始尝试使用ddddocr训练离线模型,期间遇到了各种问题,费了一番周折,最后还算顺利解决了,记录一下,避免大家遇坑。
这是Gitee上作者的仓库,GitHub上的是一样的,大家可以自己去找。ddddocr的使用方法在这里我就不多说了,这里主要讲的是训练遇到的问题。
环境配置
环境配置参考训练工具仓库内的Markdown文档说明,需要注意的是pytorch的CUDA版本需要自己在官网上下载安装,其他都简单,按照操作步骤一步步来就行。
环境搭好后,下载压缩文件并解压缩到本地,按照requirements.txt上依赖的库安装python包,这个也不用多说了,大家应该都会的。
创建项目
- 找到刚刚下载的仓库文件,找到app.py文件。然后在当前文件夹下打开cmd,输入:
python app.py create {project_name}
- 创建项目名称,project_name为自定义的项目名称。接下来配置缓存数据,配置缓存数据前,确保你的图片已经按照规定的命名格式放在一个文件夹内,且训练图片需要大于1200张,否则训练时会出错。具体命名规则可看Gitee上的文档,这里就不展开讲了。比如,图片路径在 {project_name}下的images文件夹内,那么直接在cmd中输入:
python app.py cache {project_name} /images/
代码运行完后,会在{project_name} /cache文件夹下创建两个文件cache.train.tmp和cache.val.tmp,里面记录的就是images文件夹下面的图片信息。
- 缓存配置好后,在cmd输入以下代码直接开始训练
python app.py train {project_name}
报错解决办法
报错一: cache文件夹下的cache.val.tmp大小为0字节。
解决办法:该问题为训练照片数据太少,至少需要1200张图片,增加训练照片即可解决该问题。
报错二:出现checkpoint报错
解决办法:找到{project_name} /checkpoint文件夹,删除该文件夹下所有的文件
报错三:failed writing file data
解决办法:检查一下硬盘空间是否已经撑满,换一个大容量的硬盘继续训练。继续训练时,可能出现如下报错:
解决办法:找到{project_name} /checkpoint文件夹,按照创建时间排序,删除最近创建的几个压缩包即可继续训练。
报错四:出现Error:cannot identify image file报错
解决办法:查看红色报错的文件名称找到该图片,检查图片是否已损坏,直接删除即可继续训练。
报错五:TypeError: export() got an unexpected keyword argument '__retain_param_name
解决办法:该报错是使用了旧版的代码导致,找到dddd_trainer-main/nets/_init_.py文件,第216行,删除__retain_param_name参数即可。或者重新下载作者最新的代码也行。
报错六:module onnx is not installed!
解决办法:打开cmd,输入pip install onnx,安装即可。