Povolení protokolování v kanálech návrháře služby Azure Machine Learning
V tomto článku se dozvíte, jak přidat kód protokolování do kanálů návrháře. Dozvíte se také, jak tyto protokoly zobrazit pomocí webového portálu studio Azure Machine Learning.
Další informace o protokolování metrik pomocí prostředí pro vytváření sady SDK najdete v tématu Monitorování spuštění a metrik experimentu Azure Machine Learning.
Povolení protokolování pomocí příkazu Execute Python Script
Pomocí komponenty Execute Python Script povolte protokolování v kanálech návrháře. I když můžete pomocí tohoto pracovního postupu protokolovat libovolnou hodnotu, je zvlášť užitečné protokolovat metriky z komponenty Vyhodnotit model a sledovat výkon modelu napříč běhy.
Následující příklad ukazuje, jak protokolovat střední kvadratická chyba dvou trénovaných modelů pomocí komponent Vyhodnocení modelu a Spouštění skriptů Pythonu.
Připojte komponentu Execute Python Script k výstupu komponenty Evaluate Model .
Do editoru kódu execute Python Script vložte následující kód, který zapíše střední absolutní chybu pro trénovaný model. Podobný vzor můžete použít k protokolování jakékoli jiné hodnoty v návrháři:
PLATÍ PRO: Python SDK azureml 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,
Tento kód používá sadu Azure Machine Learning Python SDK k protokolování hodnot. Používá Run.get_context() k získání kontextu aktuálního spuštění. Potom protokoluje hodnoty do tohoto kontextu pomocí metody run.parent.log(). Používá parent
k protokolování hodnot ke spuštění nadřazeného kanálu, nikoli ke spuštění komponenty.
Další informace o tom, jak pomocí sady Python SDK protokolovat hodnoty, najdete v tématu Povolení protokolování v trénovacích spuštěních služby Azure Machine Learning.
Zobrazení protokolů
Po dokončení spuštění kanálu se na stránce Experimenty zobrazí Mean_Absolute_Error .
Přejděte do části Úlohy .
Vyberte experiment.
Vyberte úlohu v experimentu, který chcete zobrazit.
Vyberte Metriky.
Další kroky
V tomto článku jste zjistili, jak používat protokoly v návrháři. Další kroky najdete v těchto souvisejících článcích:
- Informace o řešení potíží s kanály návrháře najdete v tématu Ladění a řešení potíží s kanály ML.
- Zjistěte, jak pomocí sady Python SDK protokolovat metriky v prostředí pro vytváření sady SDK, viz Povolení protokolování v trénovacích spuštěních služby Azure Machine Learning.
- Přečtěte si, jak v návrháři používat příkaz Execute Python Script .