我正在使用 userdocker 在远程服务器上一个接一个地训练几个 Keras 模型。我通过 ssh 连接到服务器,让它们在不同的屏幕上运行。
为了加快速度,我在 5 个 GPU 上训练模型,以便同时训练 5 个不同的模型。
大多数情况下,模型训练没有任何问题:我分离屏幕,从服务器注销并让它们运行一夜。然而,有时他们会在培训过程中因管道破裂消息而停止。下面我包含了消息的最后一部分,因为我认为它可能是最相关的,但它很长且重复。
我发现这个问题有一个稍微相似的错误消息,他们链接到这个解释,但我看不出如何在我的情况下修复它,或者我在我的代码中犯了可能导致这个问题的错误并不总是发生。
有没有人在使用 Keras 或 userdocker 时遇到过类似的问题?怎样才能防止它发生?
错误信息
23/24 [==========================>..] - ETA:7s - 损失:1.7797 - acc:0.2219 Traceback(大多数最近调用最后一次):
文件“/usr/local/lib/python2.7/dist-packages/keras/utils/data_utils.py”,第 655 行,在 _data_generator_task self.queue.put((True, generator_output))
文件中",第 2 行,放入
文件 "/usr/lib/python2.7/multiprocessing/managers.py",第 759 行,在 _callmethod 类型中,结果 = conn.recv() EOFError进程 Process-259:回溯(最近一次调用):
文件“/usr/lib/python2.7/multiprocessing/process.py”,第 258 行,在 _bootstrap self.run()
文件“/usr/lib/python2. 7/multiprocessing/process.py", line 114, in run self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python2.7/dist-packages/keras/utils/ data_utils.py”,第 665 行,在 _data_generator_task self.queue.put((False, e))
文件“”,第 2 行,输入文件“/usr/lib/python2.7/multiprocessing/managers.py”,行758, in …