paddleocr速度测试

100万像素的jpg一秒大概可以识别4个

1200万像素heic大概三秒识别4个

cpu aihx370

 

ocr = PaddleOCR(use_angle_cls=True, lang="ch",
                show_log=False) 

自动用满了cpu的多核,不需要额外配置

 


试了下use_gpu=True 速度提升不明显

跟纯用cpu速度差不多,gpu没跑满,cpu只用了一个核解码heic速度太慢。优点就是功耗要低很多。。。

 

20241112_223718 俩小时 ocr了16k张图片(有jpg也有heic) 每小时8k  8000/60=133每分钟133张

2*60*60=7200秒


修改了一下多进程读取multiprocessing.Pool(processes=4)

10分钟 2.5k张图片 1分钟250。速度相比上边提高了一倍

14分钟 4k张图片


用多线程实现了一下,测试了一下速度

with ThreadPoolExecutor(max_workers=4) as executor: 4线程

3分钟 0.8k张

9分钟 2.8k张

这样看来,PaddleOCR多线程跟多进程的速度倒是差不多啊

 


又改进了一下多线程的逻辑,3个模型,4分钟1.5k

8分钟 2.6k

呃,没太大改进

4个模型,5分钟 1.3k张


多线程最高就能提高2倍,再提升必须就得多进程了,就是这个多进程占用的虚拟内存和显存都太多了。1个进程占用虚拟内存3G物理内存1G,显存2G,导致我开4个进程,8G的显存就满了。

4个进程,6分钟3k图片

posted @ 2024-11-12 16:23  hrdom  阅读(702)  评论(0)    收藏  举报