Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Spårning är processen för att spara relevant information om experiment. I den här artikeln får du lära dig hur du använder MLflow för att spåra experiment och körningar på Azure Machine Learning-arbetsytor.
Vissa metoder som är tillgängliga i MLflow-API:et kanske inte är tillgängliga när du använder Azure Machine Learning. Mer information om åtgärder som stöds och som inte stöds finns i Supportmatris för frågekörningar och experiment. Du kan också lära dig mer om MLflow-funktioner som stöds i Azure Machine Learning i artikeln MLflow och Azure Machine Learning.
Anmärkning
- Information om hur du spårar experiment som körs på Azure Databricks finns i Spåra Azure Databricks maskininlärningsexperiment med MLflow och Azure Machine Learning.
- Information om hur du spårar experiment som körs i Azure Synapse Analytics finns i Spåra ML-experiment för Azure Synapse Analytics med MLflow och Azure Machine Learning.
Förutsättningar
Ha en Azure-prenumeration och den kostnadsfria eller betalda versionen av Azure Machine Learning.
Om du vill köra Azure CLI- och Python-kommandon installerar du Azure CLI v2 och Azure Machine Learning SDK v2 för Python. Tillägget
mlför Azure CLI installeras automatiskt första gången du kör ett Azure Machine Learning CLI-kommando.
Installera MLflow SDK-paketet
mlflowoch Azure Machine Learning-plugin-programmetazureml-mlflowför MLflow:pip install mlflow azureml-mlflowTips/Råd
Du kan använda
mlflow-skinnypaketet, som är ett enkelt MLflow-paket utan SQL-lagring, server, användargränssnitt eller datavetenskapsberoenden. Vi rekommenderar det här paketet för användare som främst behöver MLflow-spårnings- och loggningsfunktionerna, men inte hela sviten med funktioner, inklusive distributioner.Skapa en Azure Machine Learning-arbetsyta. Information om hur du skapar en arbetsyta finns i Skapa resurser som du behöver för att komma igång. Granska de åtkomstbehörigheter som du behöver för att utföra MLflow-åtgärder på din arbetsyta.
Om du vill utföra fjärrspårning eller spåra experiment som körs utanför Azure Machine Learning konfigurerar du MLflow så att det pekar på spårnings-URI:n för din Azure Machine Learning-arbetsyta. Mer information om hur du ansluter MLflow till din arbetsyta finns i Konfigurera MLflow för Azure Machine Learning.
Konfigurera experimentet
MLflow organiserar information i experiment och körningar. Körningar kallas jobb i Azure Machine Learning. Som standard kör loggen till ett automatiskt skapat experiment med namnet Standard, men du kan konfigurera vilket experiment som ska spåras.
För interaktiv träning, till exempel i en Jupyter-anteckningsbok, använder du MLflow-kommandot mlflow.set_experiment(). Följande kodfragment konfigurerar till exempel ett experiment:
experiment_name = 'hello-world-example'
mlflow.set_experiment(experiment_name)
Konfigurera körprocessen
Azure Machine Learning spårar träningsjobb i det som MLflow kallar körningar. Använd körningar för att samla in all bearbetning som jobbet utför.
När du arbetar interaktivt börjar MLflow spåra din träningsrutin så snart du loggar information som kräver en aktiv körning. Om till exempel MLflows autologgningsfunktion är aktiverad startar MLflow-spårningen när du loggar ett mått eller en parameter eller startar en träningscykel.
Det är dock vanligtvis bra att starta processen explicit, särskilt om du vill registrera den totala tiden för ditt experiment i fältet Varaktighet. Om du vill starta körningen uttryckligen använder du mlflow.start_run().
Oavsett om du startar körningen manuellt eller inte måste du stoppa körningen så att MLflow vet att experimentkörningen är klar och kan markera körningens status som Slutförd. Om du vill stoppa en körning använder du mlflow.end_run().
Följande kod startar en körning manuellt och avslutar den i slutet av notebook-filen:
mlflow.start_run()
# Your code
mlflow.end_run()
Det är bäst att starta körningar manuellt så att du inte glömmer att avsluta dem. Du kan använda context manager-paradigmet för att hjälpa dig komma ihåg att avsluta en körning.
with mlflow.start_run() as run:
# Your code
När du startar en ny körning med hjälp mlflow.start_run()av kan det vara användbart att ange parametern run_name , som senare översätts till namnet på körningen i Azure Machine Learning-användargränssnittet. Den här metoden hjälper dig att identifiera löpningen snabbare.
with mlflow.start_run(run_name="hello-world-example") as run:
# Your code
Aktivera automatisk MLflow-loggning
Du kan logga mått, parametrar och filer med MLflow manuellt, och du kan också förlita dig på MLflows automatiska loggningsfunktion. Varje maskininlärningsramverk som stöds av MLflow avgör vad som ska spåras automatiskt.
Om du vill aktivera automatisk loggning infogar du följande kod före träningskoden:
mlflow.autolog()
Visa mått och artefakter på din arbetsyta
Mätvärden och artefakter från loggar från MLflow spåras på din arbetsyta. Du kan visa och komma åt dem i Azure Machine Learning Studio eller komma åt dem programmatiskt med hjälp av MLflow SDK.
Så här visar du mått och artefakter i studion:
På sidan Jobb på arbetsytan väljer du experimentnamnet.
På sidan med experimentinformation väljer du fliken Mått .
Välj loggade mått för att återge diagram till höger på sidan. Du kan anpassa diagrammen genom att använda utjämning, ändra färg eller rita flera mått i en enda graf. Du kan också ändra storlek på och ordna om layouten.
När du har skapat den vy som du vill använda sparar du den för framtida användning och delar den med dina teammedlemmar med hjälp av en direktlänk.
Om du vill komma åt eller fråga efter mått, parametrar och artefakter programmatiskt med hjälp av MLflow SDK använder du mlflow.get_run().
import mlflow
run = mlflow.get_run("<RUN_ID>")
metrics = run.data.metrics
params = run.data.params
tags = run.data.tags
print(metrics, params, tags)
Tips/Råd
Föregående exempel returnerar endast det sista värdet för ett visst mått. Om du vill hämta alla värden för ett visst mått använder du mlflow.get_metric_history metoden. Mer information om hur du hämtar måttvärden finns i Hämta parametrar och mått från ett genomförande.
Om du vill ladda ned artefakter som du har loggat, till exempel filer och modeller, använd mlflow.artifacts.download_artifacts().
mlflow.artifacts.download_artifacts(run_id="<RUN_ID>", artifact_path="helloworld.txt")
Mer information om hur du hämtar eller jämför information från experiment och körs i Azure Machine Learning med hjälp av MLflow finns i Fråga och jämföra experiment och körningar med MLflow.