在训练时监视 SageMaker
Watching over SageMaker while it is training
我正在使用 Amazon SageMaker 训练包含大量数据的模型。
这需要很多时间——数小时甚至数天。在此期间,我希望能够查询培训师并查看其当前状态,特别是:
- 它已经进行了多少次迭代,还需要进行多少次迭代? (训练算法是深度学习——它基于迭代)。
- 完成培训需要多少时间?
- 理想情况下,我想使用当前迭代的模型对测试样本进行分类,以查看其当前性能。
一种方法是明确告诉训练器在每次迭代后打印调试消息。但是,这些消息仅在我 运行 培训师所在的控制台上可用。由于培训需要很多时间,我希望能够从不同的计算机远程查询培训师的状态。
有没有办法远程查询运行宁教练的状态?
Amazon Cloudwatch 中提供所有日志。您可以通过编程方式或通过 API 查询 CloudWatch 来解析日志。
您使用的是内置算法还是 MXNet 或 TensorFlow 等框架?对于 TensorFlow,您可以使用 TensorBoard.
监控您的作业
此外,您可以使用 describe training job API 调用查看高级作业状态:
import sagemaker
sm_client = sagemaker.Session().sagemaker_client
print(sm_client.describe_training_job(TrainingJobName='You job name here'))
我正在使用 Amazon SageMaker 训练包含大量数据的模型。 这需要很多时间——数小时甚至数天。在此期间,我希望能够查询培训师并查看其当前状态,特别是:
- 它已经进行了多少次迭代,还需要进行多少次迭代? (训练算法是深度学习——它基于迭代)。
- 完成培训需要多少时间?
- 理想情况下,我想使用当前迭代的模型对测试样本进行分类,以查看其当前性能。
一种方法是明确告诉训练器在每次迭代后打印调试消息。但是,这些消息仅在我 运行 培训师所在的控制台上可用。由于培训需要很多时间,我希望能够从不同的计算机远程查询培训师的状态。
有没有办法远程查询运行宁教练的状态?
Amazon Cloudwatch 中提供所有日志。您可以通过编程方式或通过 API 查询 CloudWatch 来解析日志。
您使用的是内置算法还是 MXNet 或 TensorFlow 等框架?对于 TensorFlow,您可以使用 TensorBoard.
监控您的作业此外,您可以使用 describe training job API 调用查看高级作业状态:
import sagemaker
sm_client = sagemaker.Session().sagemaker_client
print(sm_client.describe_training_job(TrainingJobName='You job name here'))