henry
henry
同样问题,我用A100推理1个900多k的表格图片,也是GPU占用过高,40G用了33G,剩余7G出现out of memory,无法推理
未使用Vllm时,如何调整以减低内存占用?
内存累加,调用gc.collect()会降低增加的速度,但是还是会逐渐累加
> > 考虑比较可能和框架的内存分配策略有关,建议可以试试这个issue里提到的`empty_cache`方案:[#16011](https://github.com/PaddlePaddle/PaddleOCR/issues/16011) > > [@fhkankan](https://github.com/fhkankan) 可以先试试这个 不是显存,是内存在累加不释放
手动屏蔽如下代码,则内存不会增加 ```python result = pipeline.predict(file_base64) ```
在paddleX的paddlex/infereencee/pipelines/paddleocr-vl/pipeline.py的_paddleOCRVLPipeline的predict()中,将use_queues=False时同时在683行前直接手动赋值yield {}不执行_process_vlm()时,内存也不再累加,怀疑是在_process_vlm中需要进一步定位
定位到是这个地方导致内存累加了
如此修改后,内存累积数值有明显下降,但是最高值还是有逐渐增加趋势,请问还有更好的写法和调整吗? image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) _, buffer = cv2.imencode('.jpg', image, [int(cv2.IMWRITE_JPEG_QUALITY), 95]) image_url = "data:image/jpeg;base64," + base64.b64encode(buffer).decode("ascii") del image del buffer
定位到框选部分导致内存累加不释放,改为下面的写法(绿色部分)后,累加数值有明显降低,但是最高值还是有增加趋势,是否有更好的写法或处理方式?