Python 培训Keras模型时管道破裂

Python 培训Keras模型时管道破裂,python,docker,keras,gnu-screen,broken-pipe,Python,Docker,Keras,Gnu Screen,Broken Pipe,我正在使用userdocker在远程服务器上一个接一个地培训几个Keras模型。我通过ssh连接到服务器,让它们在不同的屏幕上运行 为了加快速度,我让模型在5个GPU上训练,以便5个不同的模型同时训练 大多数情况下,模型训练时没有任何问题:我分离屏幕,从服务器注销,让它们在夜间运行。然而,有时,他们在训练过程中用一条破管道信息停止。下面我包括了信息的最后一部分,因为我认为这可能是最相关的,但它非常长而且重复 我发现了一条稍微相似的错误消息,他们将其链接到了这条消息上,但我看不出如何在我的情况下修

我正在使用userdocker在远程服务器上一个接一个地培训几个Keras模型。我通过ssh连接到服务器,让它们在不同的屏幕上运行

为了加快速度,我让模型在5个GPU上训练,以便5个不同的模型同时训练

大多数情况下,模型训练时没有任何问题:我分离屏幕,从服务器注销,让它们在夜间运行。然而,有时,他们在训练过程中用一条破管道信息停止。下面我包括了信息的最后一部分,因为我认为这可能是最相关的,但它非常长而且重复

我发现了一条稍微相似的错误消息,他们将其链接到了这条消息上,但我看不出如何在我的情况下修复它,或者我在代码中犯了一个可能导致此问题的错误,因为它并不总是发生

有没有人在使用Keras或userdocker时遇到过类似的问题?怎样才能防止它发生

错误消息


23/24[============================>..-预计到达时间:7秒-损失:1.7797-附件: 0.2219回溯(最近一次呼叫上次):
文件“/usr/local/lib/python2.7/dist-packages/keras/utils/data_-utils.py”, 第655行,输入数据生成器任务 self.queue.put((True,生成器_输出))
文件“”,第2行,输入
文件“/usr/lib/python2.7/multiprocessing/managers.py”, 第759行,in_callmethod 种类,结果=conn.recv()EOFError

Process-259:回溯(最近一次呼叫最后一次):
文件 “/usr/lib/python2.7/multiprocessing/process.py”,第258行,在 _引导 self.run()
文件“/usr/lib/python2.7/multiprocessing/process.py”,第114行,正在运行 自我目标(*自我参数,**自我参数)
文件“/usr/local/lib/python2.7/dist-packages/keras/utils/data_-utils.py”, 第665行,输入数据生成器任务 self.queue.put((False,e))
文件“”,第2行,输入文件“/usr/lib/python2.7/multiprocessing/managers.py”,第758行,输入 _调用方法 conn.send((self.\u id,methodname,args,kwds))
IOError:[Errno 32]管道破裂

回溯(最近一次调用last):文件“main.py”,第406行,在 group_main(sys.argv[1:])
文件“main.py”,第346行,在组_main中 步数(每个历元)
文件“/netscatch/user01/perge/scripts/pycharm\u perge/model\u trainer.py”, 78号线,列车\ U型 每一个历元的步骤=每一个历元的步骤,历元=历元,回调=回调列表)
文件 “/usr/local/lib/python2.7/dist-packages/keras/legacy/interfaces.py”, 第91行,在包装器中 返回函数(*args,**kwargs)
文件“/usr/local/lib/python2.7/dist-packages/keras/models.py”,第1256行, 内置式发电机 初始纪元=初始纪元)
文件“/usr/local/lib/python2.7/dist-packages/keras/legacy/interfaces.py”, 第91行,在包装器中 返回函数(*args,**kwargs)
文件“/usr/local/lib/python2.7/dist-packages/keras/engine/training.py”, 第2195行,安装在发电机中 workers=0)文件“/usr/local/lib/python2.7/dist-packages/keras/legacy/interfaces.py”, 第91行,在包装器中 返回函数(*args,**kwargs)
文件“/usr/local/lib/python2.7/dist-packages/keras/engine/training.py”, 第2310行,在发电机中 发电机输出=下一个(输出发电机)
文件“/usr/local/lib/python2.7/dist-packages/keras/utils/data_-utils.py”, 第751行,在get中 如果不是self.queue.empty():文件“”,第2行,在空文件“/usr/lib/python2.7/multiprocessing/managers.py”中,第758行,在 _调用方法 conn.send((self.\u id,methodname,args,kwds))IOError:[Errno 32]管道破裂