You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Amazon SageMaker训练ResNet50语义分割时遇元数据文件错误求助

Amazon SageMaker Estimator元数据错误/警告解决方案

问题详情

  • 新手使用SageMaker Jupyter Notebook训练语义分割ResNet50模型,调用Estimator时触发错误:

    NOTEBOOK_METADATA_FILE detected but failed to get valid domain and user from it.
    或警告:
    WARNING: sagemaker.interactive_apps.base_interactive_app: NOTEBOOK_METADATA_FILE detected but failed to get valid domain and user from it.

  • 已尝试重启Notebook内核和实例,问题未解决。
  • 从提供的元数据截图来看,DomainId和UserProfileName字段为空,导致SDK无法读取有效信息。

可行解决办法

1. 显式指定领域与用户参数

初始化Estimator时,手动传入domain_id和user_profile_name参数,绕过元文件读取逻辑:

from sagemaker.estimator import Estimator

# 替换为你的实际配置
estimator = Estimator(
    image_uri="your-training-image-uri",
    role="your-sagemaker-execution-role-arn",
    instance_count=1,
    instance_type="ml.p3.2xlarge",  # 按需选择实例类型
    domain_id="d-xxxxxxxxxx",  # 从SageMaker控制台领域管理页面获取
    user_profile_name="your-user-profile-name"  # 从用户配置文件页面获取
)

2. 移除触发问题的环境变量

在Notebook中执行以下代码,删除NOTEBOOK_METADATA_FILE环境变量,让SDK跳过该文件的读取:

import os

if 'NOTEBOOK_METADATA_FILE' in os.environ:
    del os.environ['NOTEBOOK_METADATA_FILE']

执行后重新初始化Estimator即可。

3. 修复元数据文件

如果元数据文件损坏,可手动编辑默认路径/opt/ml/metadata/resource-metadata.json,填入正确的DomainId和UserProfileName:

{
  "DomainId": "d-xxxxxxxxxx",
  "UserProfileName": "your-user-profile",
  "ResourceArn": "arn:aws:sagemaker:your-region:your-account-id:notebook-instance/your-instance-name"
}

保存文件后重启Notebook内核生效。

验证

完成上述任一操作后,重新运行Estimator初始化代码,确认错误/警告不再出现即可继续模型训练。

内容的提问来源于stack exchange,提问作者Amedeo Testa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 15:18:19