你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

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

重要

本文提供有关使用 Azure 机器学习 SDK v1 的信息。 自 2025 年 3 月 31 日起,SDK v1 已弃用,其支持将于 2026 年 6 月 30 日结束。 可以在该日期之前安装和使用 SDK v1。

建议在 2026 年 6 月 30 日之前过渡到 SDK v2。 有关 SDK v2 的详细信息,请参阅 什么是 Azure 机器学习 Python SDK v2SDK 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. 选择“指标”

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