我正在向使用SLURM管理的群集提交作业(job).我有一个python脚本,可以自动提交作业(job),因为我正在进行超参数调优.
在我的python脚本中,我运行
os.system('sbatch ' + fname)
其中fname
是一个文本文件,其中包含要提交的作业(job)的所有设置.我将这个设置用于我正在处理的前一个集群,它工作得很好.
现在,我在不同的集群上try 相同的设置,但我的脚本不起作用.我收到了抱怨:sh:sBatch:没有找到命令.我修复了这个问题,使用
os.system('/usr/local/slurm/bin/sbatch ' + fname)
取而代之的是.该脚本现在可以工作,并且现在可以提交到作业(job).
但是,当我查看输出文件时,第一行显示
Sh:logger:找不到命令
不过,这项工作执行得很好.这是一个简单的print("Hello world")
,只是为了测试.
我觉得这很奇怪,因为这是在将作业(job)提交给Slurm之后发生的.如果我只是在终端上执行sBatch fname,我不会在日志(log)文件中打印此投诉.
我不确定该如何解决这件事.我担心,如果代码变得更复杂,我会在使用其他命令时遇到问题.
如果有所不同,则在文件的开始处,python脚本具有虚拟的Shebang #!/usr/bin/python -u
.