当在亚马逊SageMaker中运行ML训练作业时,训练脚本被“部署”并提供一个ML训练实例,这需要大约10分钟的时间来启动并获得所需的数据。
我只能从训练任务中得到一条错误消息,然后它就会死掉,实例也会随之终止。
在我更改了训练脚本以修复它之后,我需要部署和运行它,这需要大约10分钟的时间。
如何更快地完成此任务,或者让训练实例保持运行?
发布于 2019-01-24 06:20:27
看起来您正在使用某个SageMaker框架运行培训作业。鉴于此,您可以使用SageMaker的“本地模式”特性,该特性将在您的notebook实例中本地运行您的训练作业(特别是容器)。这样,您就可以迭代您的脚本,直到它工作。然后,如果需要,您可以转移到远程训练集群,根据整个数据集来训练模型。要使用本地模式,只需将实例类型设置为" local“即可。有关本地模式的更多详细信息,请访问https://github.com/aws/sagemaker-python-sdk#sagemaker-python-sdk-overview和博客文章:https://aws.amazon.com/blogs/machine-learning/use-the-amazon-sagemaker-local-mode-to-train-on-your-notebook-instance/
发布于 2019-01-24 19:12:44
如果你使用的是TF、MXNet、Pytorch或Chainer,本地模式确实是一种更快的迭代方式。更快的解决方案是在本地机器上使用玩具数据集进行编码和调试,确保在将训练/预测代码转移到SageMaker之前正确运行。你甚至可以使用与SageMaker相同的容器,因为它们都是开源的,例如https://github.com/aws/sagemaker-tensorflow-container。
如果您使用的是自定义容器,那么在将其推送到ECR并与SageMaker一起使用之前,您也可以在本地工作。
如果您使用的是内置的algo,那么除了使用SageMaker管理的实例进行训练/预测之外,没有其他选择。但是,在这种情况下,您没有编写ML代码,因此遇到问题的风险较小:)
发布于 2020-01-25 03:13:40
亚马逊SageMaker现在提供了一种使用称为SageMaker调试器的新功能来调试机器学习模型的方法。此功能将允许您捕获流经计算图的张量,并实时分析它们。根据实时分析的结果,您可以选择停止训练作业,并以交互方式单独分析张量,以调试您的模型。
请参阅:https://sagemaker.readthedocs.io/en/stable/amazon_sagemaker_debugger.html
https://stackoverflow.com/questions/54334462
复制相似问题