Szybki start dla języka Python
MLflow to platforma open source do zarządzania kompleksowego cyklu życia uczenia maszynowego. Platforma MLflow udostępnia proste interfejsy API dla metryk rejestrowania (na przykład utrata modelu), parametry (na przykład szybkość nauki) i dopasowane modele, co ułatwia analizowanie wyników trenowania lub wdrażanie modeli później.
W tej sekcji:
- Instalowanie biblioteki MLflow
- Automatyczne rejestrowanie przebiegów trenowania w usłudze MLflow
- Wyświetlanie wyników
- Śledzenie dodatkowych metryk, parametrów i modeli
- Przykładowe notesy
- Dowiedz się więcej
Instalowanie biblioteki MLflow
Jeśli używasz środowiska Databricks Runtime na potrzeby uczenia maszynowego, środowisko MLflow jest już zainstalowane. W przeciwnym razie zainstaluj pakiet MLflow z interfejsu PyPI.
Automatyczne rejestrowanie przebiegów trenowania w usłudze MLflow
W przypadku środowiska Databricks Runtime 10.3 ML i nowszego funkcja automatycznego rejestrowania usługi Databricks jest domyślnie włączona i automatycznie przechwytuje parametry modelu, metryki, pliki i informacje o pochodzenia podczas trenowania modeli z różnych popularnych bibliotek uczenia maszynowego.
W środowisku Databricks Runtime 10.2 i nowszym platforma MLflow udostępnia mlflow.<framework>.autolog()
interfejsy API do automatycznego rejestrowania kodu szkoleniowego napisanego w wielu strukturach uczenia maszynowego. Ten interfejs API można wywołać przed uruchomieniem kodu szkoleniowego w celu rejestrowania metryk, parametrów i artefaktów modelu.
TensorFlow
Uwaga
Modele Keras są również obsługiwane w systemie mlflow.tensorflow.autolog()
.
# Also autoinstruments tf.keras
import mlflow.tensorflow
mlflow.tensorflow.autolog()
XGBoost
import mlflow.xgboost
mlflow.xgboost.autolog()
LightGBM
import mlflow.lightgbm
mlflow.lightgbm.autolog()
scikit-learn
import mlflow.sklearn
mlflow.sklearn.autolog()
PySpark
W przypadku dostrajania przy użyciu pyspark.ml
metryk i modeli są automatycznie rejestrowane w usłudze MLflow.
Zobacz Apache Spark MLlib i zautomatyzowane śledzenie MLflow.
Wyświetlanie wyników
Po wykonaniu kodu uczenia maszynowego możesz wyświetlić wyniki przy użyciu paska bocznego Przebiegi eksperymentów. Zobacz Wyświetlanie eksperymentu notesu , aby uzyskać instrukcje dotyczące wyświetlania eksperymentu, uruchamiania i poprawki notesu używanej w przewodniku Szybki start.
Śledzenie dodatkowych metryk, parametrów i modeli
Dodatkowe informacje można rejestrować bezpośrednio, wywołując interfejsy API rejestrowania śledzenia MLflow.
Metryki liczbowe
import mlflow
mlflow.log_metric("accuracy", 0.9)
Parametry trenowania
import mlflow
mlflow.log_param("learning_rate", 0.001)
Modele
scikit-learn
import mlflow.sklearn
mlflow.sklearn.log_model(model, "myModel")
PySpark
import mlflow.spark
mlflow.spark.log_model(model, "myModel")
XGBoost
import mlflow.xgboost
mlflow.xgboost.log_model(model, "myModel")
TensorFlow
import mlflow.tensorflow
mlflow.tensorflow.log_model(model, "myModel")
Keras
import mlflow.keras
mlflow.keras.log_model(model, "myModel")
PyTorch
import mlflow.pytorch
mlflow.pytorch.log_model(model, "myModel")
SpaCy
import mlflow.spacy
mlflow.spacy.log_model(model, "myModel")
Inne artefakty (pliki)
import mlflow
mlflow.log_artifact("/tmp/my-file", "myArtifactPath")
Przykładowe notesy
Uwaga
W przypadku środowiska Databricks Runtime 10.3 ML i nowszego funkcja automatycznego rejestrowania usługi Databricks jest domyślnie włączona, a kod w tych przykładowych notesach nie jest wymagany. Przykładowe notesy w tej sekcji są przeznaczone do użytku z usługą Databricks Runtime 10.2 ML i poniżej.
Zalecanym sposobem rozpoczęcia korzystania ze śledzenia MLflow w języku Python jest użycie interfejsu API platformy MLflow autolog()
. Dzięki możliwościom automatycznego rejestrowania platformy MLflow pojedynczy wiersz kodu automatycznie rejestruje wynikowy model, parametry używane do tworzenia modelu i ocenę modelu. W poniższym notesie pokazano, jak skonfigurować przebieg przy użyciu automatycznego rejestrowania.
Autologging MLflow — szybki start — notes języka Python
Jeśli potrzebujesz większej kontroli nad metrykami rejestrowanymi dla każdego przebiegu trenowania lub chcesz rejestrować dodatkowe artefakty, takie jak tabele lub wykresy, możesz użyć funkcji interfejsu API rejestrowania MLflow pokazanych w poniższym notesie.