还在用Github管理机器学习项目?你早该了解这些更专业的新工具!
这些DVC文件记录文件和目录的MD5总和校验码(MD5 checksum)。他们被提交到git workspace上,因此DVC文件记录了每次git提交的每个文件的总和校验码。DVC使用了“DVC缓存目录”来存储每个文件的多个实例。文件实例通过总和校验码进行索引,并使用reflinks或symlinks链接到workspace。当DVC响应git checkout命令时,它能够根据DVC文件中的总和校验码快速地重排链接文件。 DVC支持远程缓存目录,用于共享文件和模型。
DVC remote是一个存储池,可以进行数据共享。它支持许多存储服务,包括S3、HTTP和FTP等。创建一个DVC remote非常简单。dvc push和dvc pull命令高度模拟了git push 和git pull命令。dvc push用于将数据发送到远程DVC的缓存中,dvc pull用于从远程DVC缓存中拉取数据。 机器学习项目中的工作流描述 接下来,我们将讨论如何更好地描述机器学习项目的工作流。我们应该一股脑将所有东西堆成一个程序吗?还是应该使用多种工具? 为了尽可能地创造灵活性,我们可以将工作流通过pipeline或有向无环图(DAG),并采用命令行参数作为配置选项的方式来实现。这有点类似Unix哲学中的小而精巧的工具——小巧但可以很好地协同工作。其行为可由命令行选项或环境变量指定,并且可以根据需要任意搭配使用。 相比之下,很多ML框架采用不同的方式。他们编写单独的程序来驱动特定项目的工作流。程序第一步先将数据拆分为训练集和验证集,然后训练模型并验证模型。这种整套的单独程序可带来重用代码的机会有限。 将ML项目构建pipeline可带来如下好处
在MLFlow中,你需要编写一个“驱动程序”。这个程序包含了所需的执行逻辑,例如处理及生成机器学习模型。在程序背后,MLFlow API发送请求给MLFlow 服务器,通过该服务器生成指定的命令。 下面这个多步骤工作流的MLFlow例子清晰的展示了这一切。
(编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |