我想批量使用Keras训练深层神经网络的一些python脚本,我遇到了第一个python脚本完成时整个批处理停止的问题。在Ubuntu中过早终止长时间运行的批处理过程
我试过写一个python包装器,但仍然没有改变。我不知道这个问题是否与操作系统相关,或者它与Keras框架或python有关。
的第一次尝试是写一个shell脚本:
#!/bin/sh
for i in {1..10}; do python my_experiment.py; done
但是,运行my_experiment.py
一次之后,整批停止。
我试着使用Python:
import subprocess
import os
def main():
for i in xrange(10):
subprocess.call(['python', os.path.join(os.getcwd(), 'my_experiment.py')])
if __name__ == "__main__":
main()
但我仍然得到同样的结果。
有没有人遇到过这个问题?如果不是,我会欢迎想法尝试并弄清楚发生了什么。
此外,我通过SSH运行这个进程在远程机器上,以下列方式:
$ ./batch_script.sh &
$ disown
或者在Python的情况下:
$ python batch_script.py &
$ disown
干杯
只是为了说明,python脚本的第一次运行一直运行到结束并成功完成。在那个时候下一个批处理实例没有启动。 你提出了一个很好的观点,即输出到tty。我将探讨这一点。 – pabloxrl
也许第二个进程想写一些东西给标准输出?尝试在开始批处理时明确重定向stdout/stderr? '$ ./batch_script.sh&> output.log&' – damienfrancois
这就是我所做的:)我会更新我的发现,谢谢 – pabloxrl