Код: Выделить всё
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.
• Артефакт_локация задана правильно. в mlflow.get_experiment_by_name("default").
• Разрешения для файлов в порядке в macOS.
• Тот же код работает для других пользователей в том же курсе.
Что может привести к тому, что MLflow пропустит сохранение артефактов или моделей, даже если запуски регистрируются успешно?
Известна ли какая-либо проблема с MLflow в macOS или DagsHub Хранилище артефактов MLflow?
Какая-то переменная среды или конфигурация, которые мне могут не хватать?
• macOS Sonoma
• Python 3.12
• MLflow 2.x
• scikit-learn 1.5
• Сервер отслеживания DagsHub
Подробнее здесь: https://stackoverflow.com/questions/797 ... aining-run