【发布时间】:2022-01-11 20:08:17
【问题描述】:
我正在开始一些内存不足的多处理作业。我可以看到(在 sagemaker 容器中在线)它引发了 OSError,但整个过程并未终止。我不确定该怪什么(sagemaker、docker、多处理本身)。什么可能导致此类错误无法向上“处理”?
【问题讨论】:
标签: python multithreading amazon-sagemaker
我正在开始一些内存不足的多处理作业。我可以看到(在 sagemaker 容器中在线)它引发了 OSError,但整个过程并未终止。我不确定该怪什么(sagemaker、docker、多处理本身)。什么可能导致此类错误无法向上“处理”?
【问题讨论】:
标签: python multithreading amazon-sagemaker
当子进程失败时,确保你的主进程存在:
当 SageMaker 运行您的容器时,例如作为训练作业的一部分,它会启动容器并等待容器退出。它不知道您的流程在做什么。
当其中一个子进程失败时让容器退出,make sure your main process detect this case and exits。
注意:容器的主要运行进程是 Dockerfile 末尾的 ENTRYPOINT 和/或 CMD - 如果带上你自己的脚本训练,它将是你的 train.py。
【讨论】:
pool 进行一些多处理。在这种情况下,您会期望它知道不?