基于Docker的机器学习开发环境
· 9 min read
在我们进行机器学习开发的过车中,我们可能需要一些实验环境。 比如已经预制安装好Python环境,以及常用的Python包,比如sklearn, seaborn等工具。
为了将隔绝不同的开发环境,我们本文中使用Docker来构建相关的环境, 以便进行机器学习的开发工作。
Machine Learning related posts
View All Tags在我们进行机器学习开发的过车中,我们可能需要一些实验环境。 比如已经预制安装好Python环境,以及常用的Python包,比如sklearn, seaborn等工具。
为了将隔绝不同的开发环境,我们本文中使用Docker来构建相关的环境, 以便进行机器学习的开发工作。
fastText是Facebook研发的一款针对NLP领域的解决方案。
其主要提供了文本分类和词向量学习两大功能。 其核心思想是将整句话的词向量叠加平均作为文本表示, 并使用softmax分类器进行分类。
我们通过本文介绍一下如何使用MLflow以及Ray来训练我们的fastText模型。
在我们训练结束的时候,往往都会伴随着出来的模型的存放问题。
较为简单的方案就是将模型存放在本地的某一个文件夹下。 但是这样并不利于模型结果的共享。
而MLflow提供了模型的保存功能,可以方便我们及时的将训练好的模型,上传到MLflow中。 以便后续继续深化应用。
MLflow默认使用的是SQLite来存储实验数据等信息。 但是当实验数量增大,后端的查询效率会下降。
在生产环境中,我们推荐使用更为健壮的数据库,比如PostgresSQL(下文中,简写为Postgres)。
在本文中,我们就描述了,如何替换MLflow默认的SQLite为Postgres来加速后端数据的处理能力。
在我们使用Ray Tune的过程中,我们希望有一个开源且功能完备的实验追踪平台。 可以来帮助我们追踪训练过程中的调优的参数,以及每一个实验对应的最终指标结果等。
因此,我们尝试探索通过搭建本地的MLflow来进行相关的管理。