我有一个时间序列数据,我已经培训了5000不同的回归者(模型)。每个模型需要对100个不同的类别,每类30个不同的子类别,200个值进行预测。i.e
预测方法运行的总次数为5000x100x30= 15,000,000
我认为这可以使用并行处理(每个模型的输入不依赖于另一个模型的输出)。但是,我不是并行处理方面的专家。
,什么是完成任务最有效的方法?
每个函数调用的平均时间为5-10 ms。
发布于 2022-08-08 17:22:57
我也不是专家,所以尽管如此,我的回答还是会奏效的。
from threading import Thread
threads_list=[]
for n, Func in ["list of functions here"]:
exec(f'Func_{n} = Thread(target = Func, args = ("tuple of arguments here")')
exec(f"Func_{n}.start()")
exec(f"threads_list.append(Func_{n})")
for thread in threads_list:
thread.join()它以线程的形式并行运行每个函数,然后等待每个函数完成,然后再继续您的代码的其余部分(这可能依赖于这些线程的输出)。
https://stackoverflow.com/questions/73281618
复制相似问题