in src/utils/util.py [0:0]
def multiprocess_call(func, input_list, kwarg_list=None, num_threads=8):
from multiprocessing import Pool
pool = Pool(num_threads)
results = []
if not kwarg_list:
kwarg_list = [{}] * len(input_list)
for inp, kwargs in zip(input_list, kwarg_list):
results.append(pool.apply_async(func, inp, kwargs))
pool.close()
pool.join()
return [res.get() for res in results]