首页 > 解决方案 > 并行化预测输入函数

问题描述

我正在尝试并行化以下函数,其中 len(a.keys())=4

def make_pred(a, b, c, d, e, f, h):
    for zone in list(a.keys()):
        img_file_path = os.path.join(zone, b, c, d, e, f)
        h[zone] = a[zone].predict(img_file_path)
    
    return h

这是我的方法,但实际上速度较慢

from joblib import Parallel, delayed
import multiprocessing
from functools import partial

def make_pred(zone, b, c, d, e, f, h):
    img_file_path = os.path.join(zone, b, c, d, e, f)
    h[zone] = a[zone].predict(img_file_path)

    return h
f_partial = partial(make_pred, b, c, d, e, f, h)
h = Parallel(n_jobs=4)(delayed(f_partial)(zone) for zone in list(a.keys()))

我究竟做错了什么?

标签: pythonparallel-processingpredictionjoblib

解决方案


推荐阅读