Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Sammenligning og Håndtering af Kørsel | Sektion
Practice
Projects
Quizzes & Challenges
Quizzer
Challenges
/
Mlops Grundlæggende

bookSammenligning og Håndtering af Kørsel

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
import logging import mlflow import mlflow.sklearn from mlflow.models import infer_signature from sklearn.ensemble import RandomForestClassifier from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score logging.basicConfig(level=logging.INFO, format="%(levelname)s %(message)s") # Load data iris = load_iris() X_train, X_test, y_train, y_test = train_test_split( iris.data, iris.target, test_size=0.2, random_state=42 ) # Optionally set/announce experiment experiment_name = "IrisRandomForest" mlflow.set_experiment(experiment_name) logging.info(f"Using experiment: {experiment_name}") # Define different hyperparameter sets hyperparams_list = [ {"n_estimators": 50, "max_depth": 2}, {"n_estimators": 100, "max_depth": 3}, {"n_estimators": 150, "max_depth": 4} ] for params in hyperparams_list: run_name = f"rf_n{params['n_estimators']}_d{params['max_depth']}" logging.info(f"Starting run: {run_name} with params: {params}") with mlflow.start_run(run_name=run_name) as run: clf = RandomForestClassifier( n_estimators=params["n_estimators"], max_depth=params["max_depth"], random_state=42 ) clf.fit(X_train, y_train) preds = clf.predict(X_test) acc = accuracy_score(y_test, preds) logging.info(f"Accuracy: {acc:.4f}") # Log hyperparameters and metrics mlflow.log_params(params) mlflow.log_metric("accuracy", acc) # Log the model with input example and signature to avoid warnings input_example = X_test[:5] signature = infer_signature(X_test, preds) mlflow.sklearn.log_model(clf, "model", input_example=input_example, signature=signature) run_id = run.info.run_id artifact_uri = mlflow.get_artifact_uri() logging.info(f"Run ID: {run_id}") logging.info(f"Artifact URI: {artifact_uri}")
copy

Efter at have logget flere kørsler med forskellige hyperparametre, kan du sammenligne resultater ved hjælp af MLflow's UI eller API. For at bruge MLflow UI, start det ved at køre mlflow ui i din terminal. UI'en viser alle kørsler, deres parametre og metrikker, så du kan sortere eller filtrere efter accuracy, hyperparameterværdier eller tags. Du kan vælge flere kørsler for at sammenligne deres ydeevne side om side og vælge den bedste model baseret på din evalueringsmetrik. Alternativt kan du bruge MLflow Python API til at søge efter kørsler og hente den bedste programmatisk, hvilket er nyttigt til automatisering af modelvalg i produktionsarbejdsgange.

Note
Bemærk

Konsistent navngivning og tagging af kørsler gør store projekter håndterbare. Brug beskrivende løbsnavne og tags til at spore eksperimentets formål, datasætsversion eller hyperparameter-søgegruppe. Denne praksis hjælper dig med hurtigt at identificere og sammenligne relevante kørsler, efterhånden som dit projekt vokser.

question mark

Hvilke af følgende udsagn beskriver nøjagtigt, hvordan du kan sammenligne og vælge den bedste kørsel i MLflow ved hjælp af UI og Python API?

Select all correct answers

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 6

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

bookSammenligning og Håndtering af Kørsel

Stryg for at vise menuen

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
import logging import mlflow import mlflow.sklearn from mlflow.models import infer_signature from sklearn.ensemble import RandomForestClassifier from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score logging.basicConfig(level=logging.INFO, format="%(levelname)s %(message)s") # Load data iris = load_iris() X_train, X_test, y_train, y_test = train_test_split( iris.data, iris.target, test_size=0.2, random_state=42 ) # Optionally set/announce experiment experiment_name = "IrisRandomForest" mlflow.set_experiment(experiment_name) logging.info(f"Using experiment: {experiment_name}") # Define different hyperparameter sets hyperparams_list = [ {"n_estimators": 50, "max_depth": 2}, {"n_estimators": 100, "max_depth": 3}, {"n_estimators": 150, "max_depth": 4} ] for params in hyperparams_list: run_name = f"rf_n{params['n_estimators']}_d{params['max_depth']}" logging.info(f"Starting run: {run_name} with params: {params}") with mlflow.start_run(run_name=run_name) as run: clf = RandomForestClassifier( n_estimators=params["n_estimators"], max_depth=params["max_depth"], random_state=42 ) clf.fit(X_train, y_train) preds = clf.predict(X_test) acc = accuracy_score(y_test, preds) logging.info(f"Accuracy: {acc:.4f}") # Log hyperparameters and metrics mlflow.log_params(params) mlflow.log_metric("accuracy", acc) # Log the model with input example and signature to avoid warnings input_example = X_test[:5] signature = infer_signature(X_test, preds) mlflow.sklearn.log_model(clf, "model", input_example=input_example, signature=signature) run_id = run.info.run_id artifact_uri = mlflow.get_artifact_uri() logging.info(f"Run ID: {run_id}") logging.info(f"Artifact URI: {artifact_uri}")
copy

Efter at have logget flere kørsler med forskellige hyperparametre, kan du sammenligne resultater ved hjælp af MLflow's UI eller API. For at bruge MLflow UI, start det ved at køre mlflow ui i din terminal. UI'en viser alle kørsler, deres parametre og metrikker, så du kan sortere eller filtrere efter accuracy, hyperparameterværdier eller tags. Du kan vælge flere kørsler for at sammenligne deres ydeevne side om side og vælge den bedste model baseret på din evalueringsmetrik. Alternativt kan du bruge MLflow Python API til at søge efter kørsler og hente den bedste programmatisk, hvilket er nyttigt til automatisering af modelvalg i produktionsarbejdsgange.

Note
Bemærk

Konsistent navngivning og tagging af kørsler gør store projekter håndterbare. Brug beskrivende løbsnavne og tags til at spore eksperimentets formål, datasætsversion eller hyperparameter-søgegruppe. Denne praksis hjælper dig med hurtigt at identificere og sammenligne relevante kørsler, efterhånden som dit projekt vokser.

question mark

Hvilke af følgende udsagn beskriver nøjagtigt, hvordan du kan sammenligne og vælge den bedste kørsel i MLflow ved hjælp af UI og Python API?

Select all correct answers

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 6
some-alt