paddle在linux上识别返回不一致的问题
2022年10月14日 - 由Bo 0 评论 876 阅读
目前在用paddle的OCR模块,并有一些脚本会用其来识别文字。脚本在Mac和windows上都运行正常,但是在Linux上却抛出了异常(使用centos),报错提示"list index out of range", 最开始目测是在识别多区域文本时循环取值出错了。
最开始以为是兼容问题,识别不了图片,还检查了当前所用版本,但并无环境的报错。
paddle-bfloat 0.1.2
paddleocr 2.5.0.3.1
paddlepaddle 2.3.0
于是开始逐步调试,发现原来paddle在linux上返回的数据的层次不一样,于是导致了取值问题。于是mac和windows是一致的,但linux的返回多了一层[]。需要留意这个差异,于是在脚本里加上了系统类型的检查。
比如linux的返回是如下
[[[[[1196.0, 4.0], [1434.0, 4.0], [1434.0, 25.0], [1196.0, 25.0]], (' Sign In', 0.9318181276321411)], [[[1160.0, 798.0], [1402.0, 798.0], [1402.0, 825.0], [1160.0, 825.0]], ('How do I purchase?', 0.999258816242218)]...]]
mac和windows的返回是如下
[[[[1196.0, 4.0], [1434.0, 4.0], [1434.0, 25.0], [1196.0, 25.0]], (' Sign In', 0.9318181276321411)], [[[1160.0, 798.0], [1402.0, 798.0], [1402.0, 825.0], [1160.0, 825.0]], ('How do I purchase?', 0.999258816242218)]...]
上一篇:
Selenium反爬的几种方式