如何快速调试 SageMaker 训练脚本?
How can I quickly debug a SageMaker training script?
当 运行在 Amazon SageMaker 中进行 ML 训练作业时,训练脚本是 "deployed" 并给出一个 ML 训练实例,大约需要 10 分钟来启动并获取所需的数据.
我只能从训练作业中得到一条错误消息,然后它就死了,实例也随之被杀死。
更改训练脚本以修复它后,我需要部署并运行它还需要 10 分钟左右。
我怎样才能更快地完成这个,或者保持训练实例 运行ning?
您似乎正在 运行使用 SageMaker 框架之一进行训练。鉴于此,您可以使用 SageMaker 的 "local mode" 功能,这将 运行 您的训练作业(特别是容器)在您的笔记本实例中进行本地化。这样,您就可以迭代脚本直到它起作用。然后,如果需要,您可以继续使用远程训练集群针对整个数据集训练模型。要使用本地模式,只需将实例类型设置为 "local"。有关本地模式的更多详细信息,请访问 https://github.com/aws/sagemaker-python-sdk#sagemaker-python-sdk-overview and the blog post: https://aws.amazon.com/blogs/machine-learning/use-the-amazon-sagemaker-local-mode-to-train-on-your-notebook-instance/
如果您使用的是 TF、MXNet、Pytorch 或 Chainer,本地模式确实是一种更快的迭代方式。一种更快的解决方案是使用玩具数据集在本地计算机上进行编码和调试,确保您的 training/prediction 代码在将其移至 SageMaker 之前正常运行。您甚至可以使用与 SageMaker 上相同的容器,因为它们都是开源的,例如https://github.com/aws/sagemaker-tensorflow-container.
如果您使用的是自定义容器,那么您也可以在本地工作,然后再将其推送到 ECR 并将其与 SageMaker 一起使用。
如果您使用的是内置算法,那么除了 training/predicting 和 SageMaker 托管的实例之外别无选择。但是,在这种情况下您没有编写 ML 代码,因此 运行 出现问题的风险较小 :)
Amazon SageMaker 现在提供了一种使用名为 SageMaker Debugger 的新功能来调试机器学习模型的方法。此功能将允许您捕获流经计算图的张量并实时分析它们。根据实时发生的分析结果,您可以选择停止训练作业并以交互方式单独分析张量以调试您的模型。
参见:https://sagemaker.readthedocs.io/en/stable/amazon_sagemaker_debugger.html
当 运行在 Amazon SageMaker 中进行 ML 训练作业时,训练脚本是 "deployed" 并给出一个 ML 训练实例,大约需要 10 分钟来启动并获取所需的数据.
我只能从训练作业中得到一条错误消息,然后它就死了,实例也随之被杀死。
更改训练脚本以修复它后,我需要部署并运行它还需要 10 分钟左右。
我怎样才能更快地完成这个,或者保持训练实例 运行ning?
您似乎正在 运行使用 SageMaker 框架之一进行训练。鉴于此,您可以使用 SageMaker 的 "local mode" 功能,这将 运行 您的训练作业(特别是容器)在您的笔记本实例中进行本地化。这样,您就可以迭代脚本直到它起作用。然后,如果需要,您可以继续使用远程训练集群针对整个数据集训练模型。要使用本地模式,只需将实例类型设置为 "local"。有关本地模式的更多详细信息,请访问 https://github.com/aws/sagemaker-python-sdk#sagemaker-python-sdk-overview and the blog post: https://aws.amazon.com/blogs/machine-learning/use-the-amazon-sagemaker-local-mode-to-train-on-your-notebook-instance/
如果您使用的是 TF、MXNet、Pytorch 或 Chainer,本地模式确实是一种更快的迭代方式。一种更快的解决方案是使用玩具数据集在本地计算机上进行编码和调试,确保您的 training/prediction 代码在将其移至 SageMaker 之前正常运行。您甚至可以使用与 SageMaker 上相同的容器,因为它们都是开源的,例如https://github.com/aws/sagemaker-tensorflow-container.
如果您使用的是自定义容器,那么您也可以在本地工作,然后再将其推送到 ECR 并将其与 SageMaker 一起使用。
如果您使用的是内置算法,那么除了 training/predicting 和 SageMaker 托管的实例之外别无选择。但是,在这种情况下您没有编写 ML 代码,因此 运行 出现问题的风险较小 :)
Amazon SageMaker 现在提供了一种使用名为 SageMaker Debugger 的新功能来调试机器学习模型的方法。此功能将允许您捕获流经计算图的张量并实时分析它们。根据实时发生的分析结果,您可以选择停止训练作业并以交互方式单独分析张量以调试您的模型。
参见:https://sagemaker.readthedocs.io/en/stable/amazon_sagemaker_debugger.html