多线程处理脚本
在处理数据集的时候,往往是一张一张循环处理,如果数据集太大,处理时间就会很长。我们可以使用多线程处理。
多线程的模板直接用mmcv库里面的一个函数就行了
参考如下:
https://github.com/open-mmlab/mmcv/blob/master/docs_zh_CN/understand_mmcv/utils.md
比如我要写一个cp操作,把数据集按照一定格式复制一遍。
import os import mmcv def func_cp(item): img_path, cp_path = item cmd = "cp " + img_path + " " + cp_path os.system(cmd) items_cp = [] for ... : items_cp.append((img_path, cp_path)) mmcv.track_parallel_progress(func_cp, items_cp, 32)