Код: Выделить всё
import mlflow
import mlflow.sklearn
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_squared_error
with mlflow.start_run():
n_estimators = 100
max_depth = 6
max_features = 3
# Create and train model
rf = RandomForestRegressor(n_estimators = n_estimators, max_depth = max_depth, max_features = max_features)
rf.fit(X_train, y_train)
# Make predictions
predictions = rf.predict(X_test)
# Log parameters
mlflow.log_param("num_trees", n_estimators)
mlflow.log_param("maxdepth", max_depth)
mlflow.log_param("max_feat", max_features)
# Log model
mlflow.sklearn.log_model(rf, "random-forest-model")
# Create metrics
mse = mean_squared_error(y_test, predictions)
# Log metrics
mlflow.log_metric("mse", mse)
Код: Выделить всё
(1) MLflow run
Logged 1 run to an experiment in MLflow. Learn more
Однако я хотел бы автоматически получить эту ссылку. В частности, мне нужна ссылка на uri mlflow, где хранятся артефакты. Эта ссылка имеет следующий формат:
Код: Выделить всё
https://mycompany-dev.cloud.databricks.com/?o=#mlflow/experiments//runs/
Код: Выделить всё
print("Tracking URI: ", mlflow.get_tracking_uri())
print("Run id:", run.info.run_id)
print("Experiment:", run.info.experiment_id)
Изменить: Теперь я обнаружил, что — это Databricks. идентификатор рабочего места, к которому я могу легко получить доступ.
Редактировать 2:
Но все еще остается вопрос, как я могу получить доступ ко всему URL-адресу программно, а не приходится собирать его по частям с помощью жесткого кодирования части URL в коде.
Подробнее здесь: https://stackoverflow.com/questions/738 ... -artifacts
Мобильная версия