|数据版本化:如何开始使用DVC控制数据版本?


全文共1957字 , 预计学习时长5分钟

|数据版本化:如何开始使用DVC控制数据版本?
本文插图

图源:unsplash
在软件项目工作中 , 立即开始对代码进行版本控制是非常常见的行为 , 并且实际上已经是一种标准了 。 它的好处对于软件社区来说已经非常明显:跟踪特定代码存储库中对代码的每一次修改 。 如果出现任何错误 , 开发人员总是可以跨越时间 , 比较代码的早期版本以解决问题 , 同时最大限度地减少对所有团队成员的干扰 。
软件项目的代码是最宝贵的资产 , 因此必须不惜一切代价加以保护 。 对于数据科学项目来说 , 数据也可以被视为王冠上的宝石 , 那么为什么作为数据科学家 , 不通过版本控制来将其视为最宝贵的东西呢?
对于那些熟悉Git的人可能会想 , Git不能处理大文件和目录 , 至少它不能像处理小代码文件那样具有相同的性能 。 那么 , 怎样才能像版本控制代码那样对数据进行版本控制呢?
如今这是能够实现的 , 而且很简单 , 只需输入git clone并查看保存在工作空间中的数据文件和机器学习模型文件 , 所有这些魔术都可以通过DVC实现 。

|数据版本化:如何开始使用DVC控制数据版本?
本文插图

快速上手DVC

|数据版本化:如何开始使用DVC控制数据版本?
本文插图

Data VersionControl (DVC)
首先 , 必须在机器上安装DVC , 你可以按照下面的步骤来做 。
如前所述 , 用于数据版本控制的工具(如DVC)使构建大型项目成为可能 , 同时使重新生成管道成为可能 。 使用DVC将数据集添加到git存储库中非常简单 , 只需键入下面的代码即可:
dvc add path/to/dataset
无论数据集的大小如何 , 都会将数据添加到存储库中 。 假设我们还希望将数据集推进到云中 , 也可以使用下面的命令:
dvc push path/to/dataset.dvc
DC支持许多云存储服务 , 例如S3、Google Storage 、Azure blob、Google Drive等等 , 由于数据集被云通过版本控制系统 , 如果我克隆项目到另一个机器 , 就可以下载数据或任何其他组件 , 需要使用下面的命令:
dvc pull
现在你知道了如何开始使用DVC , 建议进一步研究这个工具或类似的工具 。 作为数据科学家 , 版本控制应该是你最好的朋友 , 它不仅允许对数据集进行版本化 , 还可以创建可重复的管道 , 同时保持所有开发项目的可追踪性和可重复性 。
如果这还不足以说服你 , 下面我将告诉为什么必须开始版本控制数据!

|数据版本化:如何开始使用DVC控制数据版本?
本文插图

为什么要开始使用数据版本控制?
1.保存并复制所有实验数据
作为数据科学家 , 我们知道开发一个机器学习模型不仅仅是代码 , 还有数据和正确的参数 。 很多时候 , 为了找到完美的匹配需要进行实验 , 这使得过程具有高度的迭代性 , 并且对于跟踪所做的更改及其对最终结果的影响非常重要 。
在多个数据科学家合作的复杂环境中 , 这变得更加重要 。 从这个意义上说 , 如果我们能够拥有用于开发模型的某个版本的数据的快照并将其版本化 , 那么迭代和模型开发的过程不仅更容易 , 而且还可跟踪 。
|数据版本化:如何开始使用DVC控制数据版本?
本文插图

图源:unsplash
2.调试及测试
虽然在Kaggle比赛中玩了很多次 , 但我们并不理解开发基于机器学习的解决方案所面临的真正挑战 。 实际上 , 最大的挑战之一就是处理各种数据源和可用的数据量 。


推荐阅读