Rövid útmutató a Pythonhoz
Az MLflow egy nyílt forráskódú platform, amely lehetővé teszi a teljes gépi tanulási életciklus kezelését. Az MLflow egyszerű API-kat biztosít a naplózási metrikákhoz (például a modellvesztéshez), a paraméterekhez (például a tanulási sebességhez) és a beépített modellekhez, így egyszerűbben elemezheti a betanítási eredményeket, vagy később modelleket helyezhet üzembe.
Ebben a szakaszban:
- Az MLflow telepítése
- Betanítás automatikus naplózása az MLflow-ba
- Eredmények megtekintése
- További metrikák, paraméterek és modellek nyomon követése
- Példajegyzetfüzetek
- További információ
Az MLflow telepítése
Ha a Databricks Runtime for Machine Learning alkalmazást használja, az MLflow már telepítve van. Ellenkező esetben telepítse az MLflow-csomagot a PyPI-ból.
Betanítás automatikus naplózása az MLflow-ba
A Databricks Runtime 10.4 LTS ML-es és újabb verzióival a Databricks autologging alapértelmezés szerint engedélyezve van, és automatikusan rögzíti a modellparamétereket, metrikákat, fájlokat és az életútadatokat, amikor modelleket tanít be számos népszerű gépi tanulási kódtárból.
A Databricks Runtime 9.1 LTS ML-vel az MLflow API-kat biztosít mlflow.<framework>.autolog()
a számos ML-keretrendszerben írt betanítási kód automatikus naplózásához. Ezt az API-t meghívhatja, mielőtt betanítási kódot futtat a modellspecifikus metrikák, paraméterek és modellösszetevők naplózásához.
TensorFlow
Feljegyzés
A Keras-modellek is támogatottak a 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
Ha a hangolást a pyspark.ml
rendszer automatikusan naplózza az MLflow-ba, akkor a rendszer automatikusan naplózza a metrikákat és modelleket.
Lásd: Apache Spark MLlib és automatizált MLflow-nyomkövetés.
Eredmények megtekintése
A gépi tanulási kód végrehajtása után az eredményeket a Kísérletfuttatások oldalsávon tekintheti meg. A rövid útmutatóban használt kísérlet, futtatás és jegyzetfüzet-változat megtekintésére vonatkozó útmutatásért tekintse meg a jegyzetfüzet-kísérlet megtekintése című témakört.
További metrikák, paraméterek és modellek nyomon követése
További információkat az MLflow Tracking naplózási API-k közvetlen meghívásával naplózhat.
Numerikus metrikák
import mlflow
mlflow.log_metric("accuracy", 0.9)
Betanítási paraméterek
import mlflow
mlflow.log_param("learning_rate", 0.001)
Modellek
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")
Egyéb összetevők (fájlok)
import mlflow
mlflow.log_artifact("/tmp/my-file", "myArtifactPath")
Példajegyzetfüzetek
Feljegyzés
A Databricks Runtime 10.4 LTS ML és újabb verziók esetén a Databricks automatikus naplózása alapértelmezés szerint engedélyezve van, és a példában szereplő jegyzetfüzetekben nincs szükség a kódra. Az ebben a szakaszban szereplő példajegyzetfüzetek a Databricks Runtime 9.1 LTS ML-vel való használatra készültek.
Az MLflow-nyomkövetés Pythonnal való használatának ajánlott módja az MLflow autolog()
API használata. Az MLflow automatikus feltöltési képességeivel egyetlen kódsor automatikusan naplózza az eredményként kapott modellt, a modell létrehozásához használt paramétereket és a modell pontszámát. Az alábbi jegyzetfüzet bemutatja, hogyan állíthat be futtatást automatikusan.
Az MLflow automatikusan kitölti a Python-jegyzetfüzet gyorsindítását
Ha nagyobb mértékben szeretné szabályozni az egyes betanítási futtatásokhoz naplózott metrikákat, vagy további összetevőket, például táblákat vagy diagramokat szeretne naplózni, használhatja az alábbi jegyzetfüzetben bemutatott MLflow naplózási API-függvényeket.