我正在创建一个 mlflow 实验,该实验将逻辑回归模型与指标和工件一起记录下来。
import mlflow
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import precision_recall_fscore_support
with mlflow.start_run(run_name=run_name, experiment_id=experiment_id):
logreg = LogisticRegression()
logreg.fit(x_train, y_train)
print('training over', flush=True)
y_pred = logreg.predict(x_test)
mlflow.sklearn.log_model(logreg, "model")
mlflow.log_metric("f1", precision_recall_fscore_support(y_test, y_pred, average='weighted')[2])
mlflow.log_artifact(x_train.to_csv('train.csv')
对于某些数据 ( x_train, y_train, x_test, y_test
)有什么方法可以访问此 run_name 的特定实验 ID 的工件并阅读
train.csv
并阅读 model
?
最佳答案
有一个download_artifacts function这允许您访问记录的工件:
local_path = client.download_artifacts(run_id, "train.csv", local_dir)
模型工件可以使用相同的函数下载(应该有名为 model/model.pkl
的对象(用于 scikit-learn 或其他东西),或者您可以通过运行加载模型:loaded_model = mlflow.pyfunc.load_model(f"runs:/{run_id}/model")
关于python - 如何在python中从mlflow下载工件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68034523/