首页
/ SageMaker Python SDK中模型评估指标在新版Studio UI中的显示问题解析

SageMaker Python SDK中模型评估指标在新版Studio UI中的显示问题解析

2025-07-04 02:39:27作者:毕习沙Eudora

问题背景

在使用AWS SageMaker Python SDK进行模型训练和注册时,开发者发现通过model.register()方法注册模型时添加的评估指标无法在新版SageMaker Studio UI中显示,但在经典版UI中可以正常查看。这一问题主要出现在TensorFlow模型的注册过程中。

问题现象

开发者使用以下代码注册模型并添加评估指标:

model_metrics = ModelMetrics(
    model_statistics=MetricsSource(
        s3_uri = Join(
            on="/",
            values=[step_evaluate_regressor.properties.ProcessingOutputConfig.Outputs["evaluation"].S3Output.S3Uri, "evaluation.json"]
        ),
        content_type="application/json"
    )
)

regressor_model.register(
    inference_instances=["ml.m5.xlarge"],
    transform_instances=["ml.m5.xlarge"],    
    model_package_group_name=regressor_model_package_name,
    model_metrics=model_metrics,
)

评估指标JSON文件格式如下:

{"metrics": {"acc": {"value": 0.2973}, "precision": {"value": 0.8219}, "recall": {"value": 0.3648}, "f1": {"value": 0.4735}, "crossentropy": {"value": 1.3566}, "acc_mc": {"value": 0.3109}, "precision_mc": {"value": 0.8253}, "recall_mc": {"value": 0.3832}, "f1_mc": {"value": 0.492}, "crossentropy_mc": {"value": 1.5692}}}

问题分析

  1. UI版本差异:最初,评估指标只能在经典版UI中显示,新版UI无法展示,这表明两个UI对模型指标的处理方式存在差异。

  2. 文件路径问题:部分开发者遇到"S3 key不存在"的错误,这通常是由于S3 URI路径中未包含评估文件名(如evaluation.json)导致的。

  3. JSON格式兼容性:新版UI对评估指标的JSON格式可能有更严格的要求,虽然示例中的格式在经典UI中工作,但新版UI可能需要特定的schema。

解决方案

  1. 确保完整S3路径:在构建S3 URI时,必须明确包含评估文件名:
s3_uri = Join(
    on="/",
    values=[processing_job_output_path, "evaluation.json"]
)
  1. 等待AWS更新:AWS已在新版Studio UI中添加了对模型评估指标的支持,开发者无需修改代码即可看到指标显示在"Evaluate"面板中。

  2. 验证指标显示:开发者可以:

    • 检查S3文件是否存在且可访问
    • 确认JSON格式符合要求
    • 在新旧版UI中对比指标显示情况

最佳实践

  1. 统一评估指标格式:建议使用AWS文档中推荐的模型卡片schema格式,确保兼容性。

  2. 测试验证:在注册模型后,立即检查新旧UI中的指标显示情况。

  3. 监控AWS更新:关注AWS的更新公告,了解新版UI功能增强情况。

总结

这一问题反映了AWS服务更新过程中可能出现的暂时性兼容问题。开发者应确保代码规范,同时保持对AWS服务更新的关注。目前,新版Studio UI已支持通过model.register()方法添加的评估指标显示,开发者可以正常使用这一功能。

登录后查看全文
热门项目推荐
相关项目推荐