#深度学习
#模型推理
#图像处理
碰到一个问题,输入图像尺寸很大时(比如说10000 x 10000),在不对图像做裁剪操作的前提下,当有大量大尺寸图片时,现有的深度学习框架怎么提升大尺寸图片的预测推理的效率?
读取大尺寸图片非常消耗cpu内存,一次读取多张肯定不现实,而且内存和显存较小时,一次读整张进行推理很可能内存和显存爆炸。
目前考虑的方法:对大尺寸图片进行分块,按块进行推理,对于推理速度快的框架,如yolov5,通过分块预测仍然可以高效得到整张图的推理结果,但目前还是每次处理一张大图,在大图内部分块(1000 x 1000)进行循环,也就是说,每次处理的只有分块的图片内容。而分块的图片显然只占了很小的显存,有什么办法可以在大图内部,同时处理多张分块的图片来提升推理效率?目前并不想增大分块的尺寸来尽可能吃显存。
另一方面是目前的深度学习框架会采用多卡推理,这是通过数据加载dataloder把数据分到多张卡上并行预测,这可以通过硬件设备来提升推理效率,但是并行处理仍然是一张大图内部逐块预测,有什么办法可以进一步提升推理效率呢?