我有一个实验需要多次执行并跟踪它的执行时间。
我的 python 代码需要使用不同的输入多次运行,但也需要多次运行相同的输入才能获得每个输入的平均执行时间。
我正在考虑使用并行化(我正在 bash 中这样做)但我不知道如何处理它,因为我需要跟踪所有内容,然后在图表中表示结果。
我担心的是,如果我想使用命令parallel
将所有内容都放在一个文件中,我将拥有无序的数据,因为我无法控制哪个作业先结束。例如,如果我决定将某个输入的所有输出都放在一个文件中(分配给该特定输入),然后从中取平均值,我最终会得到许多文件,这可能会使下一步变得更加困难。
我不是在要求代码,我只是想要一个我可以使用的算法的更好的主意(如果可能的话)。也许是一种控制由创建的作业(FIFO)顺序的方法parallel
,另一种并行化工具也许......?帮助
其中之一可以为您工作吗?
parallel --keep-order myexperiment ::: a r g s 1 ::: a r g s 2 > output-in-order
parallel --results mydir/ myexperiment ::: a r g s 1 ::: a r g s 2
parallel --results myfile{1}-{2} myexperiment ::: a r g s 1 ::: a r g s 2
parallel --results myfile.tsv myexperiment ::: a r g s 1 ::: a r g s 2
如果你是科学家,最后一个很有趣,因为它可以被 R 直接读取。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句