我想在8GB的内存中以numpy数组的形式加载超过10000张图像。到目前为止,我已经尝试了cv2.imread、keras.preprocessing.image.load_image、pil、imageio和scipy。我希望找到最快的方法,但无法确定哪个是最快的。
回答:
最快的方法之一是利用多处理器并行处理任务。当并发运行不是问题时,可以让多个处理器同时处理你的任务。下面的示例只是一个简单的草图,展示了它可能的实现方式,你可以先用小函数进行练习,然后将其集成到你自己的代码中:
from multiprocessing import Process #这是要并行化的函数 def image_load_here(image_path): pass if __name__ == '__main__': #启动多进程并提供你的数据集。 p = Process(target=image_load_here,['img1', 'img2', 'img3', 'img4']) p.start() p.join()
欢迎随时提问,我会尽力帮助你。