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图片