gpt4 book ai didi

python - 在具有不同变量的多个内核中运行类似程序

转载 作者:太空宇宙 更新时间:2023-11-03 15:33:47 25 4
gpt4 key购买 nike

我有一个程序,我想为其创建 N 个实例,其中唯一不同的是一些超参数 $\beta$。

在我看来,我知道我可以使用 bash 脚本来做到这一点,我在其中调用程序 N 次,每次使用不同的 $\beta$ 值,然后将每次发送到后台以便下一个可以运行:

#!/bin/bash

nohup python3 test.py 1 >> res.txt &
nohup python3 test.py 2 >> res.txt &
nohup python3 test.py 3 >> res.txt &
nohup python3 test.py 4 >> res.txt &

也许我也可以直接在 python 中以更简洁的方式执行此操作。我的问题是,根据您的经验,实现这一目标的最简洁方法是什么?随时询问我可能遗漏的任何细节。

最佳答案

对于并行运行多个事物,我想到的是 GNU Parallel

因此对于您的示例,空运行给出了这个:

parallel --dry-run 'nohup python prog.py {} &' ::: {1..4}

示例输出

nohup python prog.py 3 &
nohup python prog.py 2 &
nohup python prog.py 1 &
nohup python prog.py 4 &

通常,您不希望多个并行进程写入同一个文件 - 它会造成困惑,所以我会在参数之后命名输出文件:

parallel --dry-run 'nohup python prog.py {}  > res{}.txt &' ::: {1..4}

关于python - 在具有不同变量的多个内核中运行类似程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56204136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com