每次在机器学习PAI里训练都会有这个 bad file descriptor的exception,会[阿里云机器学习PAI]

每次在机器学习PAI里训练都会有这个 bad file descriptor的exception,会有什么影响吗?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
3 条回复 A 作者 M 管理员
  1. 应该不影响,你是什么tf版本呢?此回答整理自钉群:“【EasyRec】推荐算法交流群”

  2. “bad file descriptor” 错误一般是指尝试使用已经关闭的或不存在的文件描述符的情况。在阿里云机器学习PAI中,该错误可能出现在训练过程中,导致训练任务结束或异常退出。该错误可能对训练任务的结果和模型产生一定影响,例如导致训练数据丢失、模型参数错误等。因此需要及时解决。

    针对该问题,你可以尝试以下操作:

    1. 检查程序代码中是否存在文件描述符关闭不当或文件读写错误的情况,在出现错误的地方加入异常处理代码。
    2. 检查文件或目录的读写权限是否正确并确保文件存在,可以重新上传或下载文件进行替换,也可以在训练任务前确认文件的读写权限。
    3. 检查服务器状态,确保硬件资源充足,如GPU、内存等。如果资源不足可能会导致文件描述符关闭不当的情况。
    4. 检查训练任务的实现是否正确,优化其训练过程,并进行调试。可以添加更多的日志和异常处理,以及等待超时时间的设置等。
  3. 在机器学习PAI训练过程中遇到 bad file descriptor 的异常可能是由于某些原因导致训练程序无法读取/写入文件造成的,如断电、网络等问题。这个异常可能会影响训练程序的运行,导致训练过程中的一些数据丢失或者训练终止。为了排除这种异常,建议检查网络连接是否稳定,检查输入/输出文件是否正常,以及检查训练环境是否正常等。

    如果发现这个异常频繁出现,我们需要考虑与PAI平台技术支持沟通,查看是否有平台问题需要解决。同时,我们建议在训练过程中进行数据备份,以免由于意外故障导致数据丢失。

  4. Bad file descriptor异常通常表示文件描述符无效或已关闭,可能会导致训练中断。这可能会影响训练的准确性和效率。建议您检查代码中是否有文件操作相关的问题,或者检查您的训练数据是否存在问题。

    您提供的截图无法打开,无法判断是否与问题1有关。

    单机多卡训练时可能会出现Bad file descriptor异常,这可能是由于GPU之间的通信问题导致的。建议您检查代码中是否有多GPU之间通信相关的问题,或者尝试使用不同的多GPU训练策略。

    MirroredStrategy是TensorFlow中的一种多GPU训练策略,它可以在多个GPU上同步训练模型。如果您使用了MirroredStrategy,建议您检查代码中是否有多GPU之间通信相关的问题。

    如果只有一个worker跑多GPU,建议使用MirroredStrategy策略。

    ngpu命令是一个用于在多GPU上训练模型的命令行工具,它可以帮助您更好地管理多GPU训练。如果ngpu命令训练速度很慢,可能是由于您的数据读取、模型计算等方面存在瓶颈,建议您检查代码中的性能问题。