Compartilhar via

在 Azure 机器学习设计器管道中启用日志指标

重要

本文提供有关使用 Azure 机器学习 SDK v1 的信息。 SDK v1 自 2025 年 3 月 31 日起弃用。 对它的支持将于 2026 年 6 月 30 日结束。 可以在该日期之前安装和使用 SDK v1。 使用 SDK v1 的现有工作流将在支持结束日期后继续运行。 但是,在产品发生体系结构更改时,可能会面临安全风险或中断性变更。

建议在 2026 年 6 月 30 日之前过渡到 SDK v2。 有关 SDK v2 的详细信息,请参阅 什么是 Azure 机器学习 CLI 和 Python SDK v2? 以及 SDK v2 参考

本文介绍如何将代码添加到设计器管道以启用日志指标。 此外,还介绍了如何使用 Azure 机器学习工作室 Web 门户查看这些日志。

有关通过使用 SDK 的创作体验进行指标记录的详细信息,请参阅 记录和查看指标及日志文件

使用“执行 Python 脚本”启用日志记录

使用执行 Python 脚本组件启用设计器管道中的日志记录。 虽然可以使用此工作流记录任何值,但是记录“评估模型”组件中的指标以跟踪不同运行期间的模型性能特别有用。

以下示例演示如何使用 “评估模型 ”和 “执行 Python 脚本 ”组件记录两个训练模型的均方误差。

  1. 将“执行 Python 脚本”组件连接到“评估模型”组件的输出 。

    显示如何将执行 Python 脚本组件连接到评估模型组件的屏幕截图。

  2. 将以下代码粘贴到“执行 Python 脚本”代码编辑器中,以记录训练模型的平均绝对误差。 可以使用类似的模式在设计器中记录任何其他值:

    适用于:适用于 Python 的 Azure 机器学习 SDK v1

    # dataframe1 contains the values from Evaluate Model
    def azureml_main(dataframe1=None, dataframe2=None):
        print(f'Input pandas.DataFrame #1: {dataframe1}')
    
        from azureml.core import Run
    
        run = Run.get_context()
    
        # Log the mean absolute error to the parent run to see the metric in the run details page.
        # Note: 'run.parent.log()' should not be called multiple times because of performance issues.
        # If repeated calls are necessary, cache 'run.parent' as a local variable and call 'log()' on that variable.
        parent_run = Run.get_context().parent
    
        # Log left output port result of Evaluate Model. This also works when evaluate only 1 model.
        parent_run.log(name='Mean_Absolute_Error (left port)', value=dataframe1['Mean_Absolute_Error'][0])
        # Log right output port result of Evaluate Model. The following line should be deleted if you only connect one Score component to the` left port of Evaluate Model component.
        parent_run.log(name='Mean_Absolute_Error (right port)', value=dataframe1['Mean_Absolute_Error'][1])
    
        return dataframe1,
    

此代码使用 Azure 机器学习 Python SDK 来记录值。 它使用Run.get_context()来获取当前运行的上下文。 然后,它会使用 run.parent.log() 该方法将值记录到该上下文中。 它使用 parent 将值记录到父管道运行,而不是组件运行。

有关如何使用 Python SDK 记录值的详细信息,请参阅 日志和查看指标和日志文件

查看日志

管道运行完成后,“试验”页中将显示 Mean_Absolute_Error。

  1. 导航到“作业”部分。

  2. 选择试验。

  3. 选择要查看的试验中的作业。

  4. 选择“指标”。

    显示工作室中作业指标的屏幕截图。