Код: Выделить всё
import mlflow
import pickle
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
mlflow.set_tracking_uri("https://dagshub.com/\\\\\/.mlflow")
mlflow.set_experiment("default")
with mlflow.start_run():
model = RandomForestClassifier(n_estimators=200, random_state=42)
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
Код: Выделить всё
acc = accuracy_score(y_test, y_pred)
mlflow.log_metric("accuracy", acc)
# Tried both methods
mlflow.sklearn.log_model(model, "model")
# or
# pickle.dump(model, open("model.pkl", "wb"))
# mlflow.log_artifact("model.pkl")
но в пользовательском интерфейсе MLflow (DagsHub и локальный) раздел «Артефакты» остается пустым — файла модели нет.
Я подтвердил, что:
- Папка mlruns создается при использовании локального URI.
- Artificate_location правильно установлен в mlflow.get_experiment_by_name("default").
- Разрешения для файлов в порядке в macOS.
Что может быть причиной MLflow пропускает сохранение артефактов или моделей, даже если запуски регистрируются успешно?
Существует ли какая-либо известная проблема с MLflow в macOS или хранилищем артефактов MLflow в DagsHub?
Какая-либо переменная среды или конфигурация, которую мне может не хватать?
- macOS Sonoma
- Python 3.12
- MLflow 2.x
- scikit-learn 1.5
- Сервер отслеживания DagsHub
Подробнее здесь: https://stackoverflow.com/questions/797 ... aining-run