首页 > 解决方案 > 保存到文件时在远程服务器上运行的 Python 代码失败并出现 OSError,尽管在代码的早期成功保存到同​​一位置

问题描述

我正在通过 ssh 连接到的远程服务器(运行 RedHat 8.4)上训练 keras 模型,每个时期后,模型权重都保存到磁盘。这适用于许多时期,但是一段时间后它会失败并出现类似的错误

OSError: Unable to create file (unable to open file: name = 'model_weights.h5', errno = 127, error message = 'Key has expired', flags = 13, o_flags = 242)

当我使用model.save_weights. 发生这种情况时没有一致性,有时会在 100 个 epoch 之后发生,有时会在 300 个之后发生。我在服务器上的屏幕会话中运行它,所以它不是 ssh 连接到期,如果我尝试重新运行代码收到错误后立即可以再次保存到磁盘,至少在一段时间后再次发生错误之前。

我的想法是,它可能是服务器上的某种调度程序,它会在一定时间后自动停止进程,但我问管理它的人,他们说没有任何地方他们知道会导致它。我还认为也许我对同一个文件的写入过多,所以我尝试将权重写入每个时期的不同文件,但错误仍然存​​在。我在网上查看了这个错误,但找不到任何人有类似错误的例子或任何暗示它实际含义的东西。

应该注意的是,服务器相对较新并且没有被太多使用,所以我猜可能仍然存在一些尚未整理的设置的怪癖。是否有人熟悉此错误并知道可能导致它的原因,或者对我如何尝试诊断问题有任何建议?谢谢!

标签: pythonkerasserveroserror

解决方案


推荐阅读