Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AWS Sagemaker自定义训练作业容器发射损失度量

AWS Sagemaker自定义训练作业容器发射损失度量
EN

Stack Overflow用户
提问于 2020-04-05 03:06:52
回答 1查看 569关注 0票数 3

我已经使用Amazon tensorflow容器作为起点创建了一个客户docker容器:

代码语言:javascript
运行
AI代码解释
复制
763104351884.dkr.ecr.us-west-2.amazonaws.com/tensorflow-training:1.15.2-gpu-py36-cu100-ubuntu18.04

在容器中,我从docker SAGEMAKER_PROGRAM运行一个自定义keras (使用TF后端)训练作业。我可以访问训练数据ok (从EFS挂载),并可以在/opt/ml/model中生成输出,该输出将同步回S3。所以输入和输出都很好:我缺少的是实时监控。

Sagemaker训练作业会发出cpu和gpu负载等系统指标,您可以在Sagemaker训练作业控制台上方便地实时查看这些指标。但我找不到一种方法来发布关于培训工作进度的指标。例如,我的python代码中的损失、准确性等。

实际上,理想情况下我希望使用Tensorboard,但是由于Sagemaker不会在EC2控制台上公开实例,所以我不知道如何找到Tensorboard要连接到的实例的IP地址。

因此,备用方法是尝试从训练代码中发出相关指标,以便我们可以在作业运行时对其进行监控。

基本问题是,我如何实时监控在Sagemaker培训作业的容器中运行的自定义培训作业的关键指标:- tensorboard解决方案可行吗?如果是这样,怎么做?-如果不是,我如何从我的python代码中发出指标,并让它们直接显示在训练作业控制台或作为cloudwatch指标?

顺便说一句:到目前为止,我还无法在训练作业容器中获得足够的凭据来访问s3或cloudwatch。

EN

回答 1

Stack Overflow用户

发布于 2020-04-19 23:32:00

如果您正在使用客户图像进行训练,则可以为要跟踪以进行训练的指标指定名称和正则表达式。

代码语言:javascript
运行
AI代码解释
复制
byo_estimator = Estimator(image_name=image_name,
                      role='SageMakerRole', train_instance_count=1,
                      train_instance_type='ml.c4.xlarge',
                      sagemaker_session=sagemaker_session,
                      metric_definitions=[{'Name': 'test:msd', 'Regex': '#quality_metric: host=\S+, test msd <loss>=(\S+)'},
                                          {'Name': 'test:ssd', 'Regex': '#quality_metric: host=\S+, test ssd <loss>=(\S+)'}])
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61037520

复制
相关文章

相似问题

添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档