Bibliothèques
du cluster (7.4ML a déjà lightGBM installé)
mlflow.lightgbm.autolog ()
), de sorte que les paramètres et les métriques sont automatiquement suivis.from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, log_loss
import lightgbm as lgb
import mlflow
import mlflow.lightgbm
def train(learning_rate, colsample_bytree, subsample):
#Préparation des données
iris = datasets.load_iris()
X = iris.data
y = iris.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
#Faites-le au format lightgbm
train_set = lgb.Dataset(X_train, label=y_train)
#Suivi automatique
mlflow.lightgbm.autolog()
with mlflow.start_run():
#Apprenez le modèle
params = {
"objective": "multiclass",
"num_class": 3,
"learning_rate": learning_rate,
"metric": "multi_logloss",
"colsample_bytree": colsample_bytree,
"subsample": subsample,
"seed": 42,
}
model = lgb.train(
params, train_set, num_boost_round=10, valid_sets=[train_set], valid_names=["train"]
)
#Évaluation du modèle
y_proba = model.predict(X_test)
y_pred = y_proba.argmax(axis=1)
loss = log_loss(y_test, y_proba)
acc = accuracy_score(y_test, y_pred)
# log metrics
mlflow.log_metrics({"log_loss": loss, "accuracy": acc})
train(0.1, 1.0, 1.0)
train(0.2, 0.8, 0.9)
train(0.4, 0.7, 0.8)
Cliquez sur l'icône «Expérience» en haut à droite du cahier pour afficher le résultat de l'expérience ②.
Cliquez sur le bouton ③ pour afficher l'écran de la liste des résultats de l'expérience.
Sélectionnez tous les résultats expérimentaux ① et appuyez sur le bouton Comparer
② pour afficher l'écran de comparaison des résultats expérimentaux (les différences de paramètres et les indices d'évaluation peuvent être comparés dans une liste).
Modèles
.
MLflow Model Serving
est activé pour un modèle dans le registre de modèles, un cluster à nœud unique unique est automatiquement créé et peut être utilisé comme point de terminaison REST. Déploiement automatique en fonction de la version et de l'étape du registre du modèleLe modèle enregistré cette fois est la "version 2", et le stade est "Aucun". Je vais faire une demande pour changer la scène en Production
Transition de l'écran du registre du modèle à l'écran des détails du modèle de la version 2
, cliquez sur Étape: Aucune
①, et cliquez sur Demander la transition vers-> Production
②.
L'écran des détails du modèle d'un autre utilisateur affiche une demande de changement d'étape
Vous pouvez modifier l'étape si vous approuvez
Vous pouvez l'activer en cliquant sur le bouton «Activer le service» dans l'onglet «Traitement» de l'écran des détails du modèle du registre de modèles.
Après un certain temps, vous pouvez confirmer que le point de terminaison REST a été démarré pour chaque version et étape du modèle.
Vous devez obtenir un jeton de sécurité émis pour accéder à l'API du côté client
Peut être créé à partir de l'onglet Access Tokens
de l'écran User Setting
du compte administrateur
Essayez d'utiliser l'API de curl
export DATABRICKS_TOKEN={jeton}
cat <<EOF > ./data.json
[
{
"sepal length(cm)": 4.6,
"sepal width(cm)": 3.6,
"petal length(cm)": 1,
"petal width(cm)": 0.2
}
]
EOF
curl \
-u token:$DATABRICKS_TOKEN \
-H "Content-Type: application/json; format=pandas-records" \
[email protected] \
https://dbc-xxxxxxxxxxxxx.cloud.databricks.com/model/iris_model/Production/invocations
[[0.9877602676352799, 0.006085719008512947, 0.006154013356207185]]
Recommended Posts