python--并行计算
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python--并行计算相关的知识,希望对你有一定的参考价值。
参考技术Apython能够应用并行计算的模块有多个multiprocessing、pathos等。其中multiprocessing模块应用的较多,但对于数据挖掘场景来说,pathos模块更实用,尤其允许输入多个可变参数非常简单实用。
本文总结整理了常见的并行计算场景,编写parallel.py模块,主要利用pathos模块实现,可以实现单变量并行、多变量并行、并行嵌套等功能。通过tdqm模块增加了进度条,可以显示计算进度等信息,通过functools模块中的partial函数将静态参数冻结,以适应并行框架。
parallel.py
函数parallel的参数定义顺序需要注意: 必选参数--任意位置参数--默认参数--任意关键字参数 。
定义另一个parallel_main.py模块,用来展示各个场景下并行计算结果。
parallel_main.py
parallel函数使用注意点:
python并行计算(持续更新)
工作中需要对tensorflow 的一个predict结果加速,利用python中的线程池
def getPPLs(tester,datas):
for line in datas:
tester(line)
tester = run_epoch.rescore(session, test_lm, data, test_data, eval_op=None, test=True)
listDatas=splitList(test_data,16)#16 是线程的数量
threadsPool=[]
for sub_test_data in listDatas:
threadsPool.append(Thread(target=getPPLs, args=(tester, sub_test_data)))
for thread in threadsPool:
thread.start()
for thread in threadsPool:
thread.join()
tmd2=time()
print("tmd2-tmd1 ",tmd2-tmd1)
以上是关于python--并行计算的主要内容,如果未能解决你的问题,请参考以下文章