将MLflow项目与docker-compose结合使用

我面临以下情况:

我们在一个由docker-compose文件构建的Docker容器中训练模型。我已经实现了MLflow与docker-compose的结合(通过类似于这篇文章的方法:https://towardsdatascience.com/deploy-mlflow-with-docker-compose-8059f16b6039),创建了两个额外的容器(一个用于服务器,一个用于postgresql后端)。

然而,故事并未到此结束。我们的目标是实现一个完整的机器学习流程,包括数据创建、预处理步骤等。我知道,ML项目可以帮助创建这样的流程。我看到它被设计为与Docker镜像一起工作(https://www.mlflow.org/docs/latest/projects.html),但我不明白如何将其与docker-compose一起使用。

您能否通过提供任何提示、指南、文档等来帮助我?

或者总的来说,关于如何使用mlflow实现完整的机器学习流程,有什么建议吗?

非常感谢!


回答:

我建议在conda环境中训练模型,并仅在部署时使用Docker。这样,您就可以从像Pycharm这样的IDE中调试模型代码。

所以,

conda create -n env_nameconda run -n env_name pip install requirements.txt

这是我做的方法,尽管可能比你需要的更复杂:https://github.com/bdzyubak/torch-control/blob/main/run_setup_all.py

MLflow天然支持模型训练,你只需导入并调用autolog。

mlflow.autolog()mlflow.set_experiment('Energy Use Forecasting')with mlflow.start_run():     [your training code]

https://github.com/bdzyubak/torch-control/blob/main/projects/MachineLearning/energy_use_time_series_forecasting/time_series_forecasting_energy_use.py

然后,您可以使用一个命令从mlflow中拉取注册的模型来构建它。

https://mlflow.org/docs/latest/cli.html

mlflow models build-docker --model-uri "runs:/some-run-uuid/my-model" --name "my-image-name"# 服务模型docker run -p 5001:8080 "my-image-name"

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注