DVC用于跟踪ML模型和数据集
DVC的建立是为了使ML模型具有可共享性和可复制性。它设计用于处理大型文件、数据集、机器学习模型、度量以及代码。

ML项目版本控制
版本控制机器学习模型,数据集和中间文件。DVC通过代码将它们连接起来,并使用Amazon S3、Microsoft Azure Blob存储、Google Drive、Google云存储、Aliyun OSS、SSH/SFTP、HDFS、HTTP、网络连接存储或光盘来存储文件内容。
完整的代码和数据来源有助于跟踪每个ML模型的完整演化。这保证了再现性,并使其易于在实验之间来回切换。
ML实验管理
利用Git分支的全部功能尝试不同的想法,而不是代码中草率的文件后缀和注释。使用自动度量跟踪来导航,而不是使用纸张和铅笔。
DVC被设计成保持分支像Git一样简单和快速-无论数据文件大小如何。除了一流的市民指标和ML管道,这意味着一个项目有更干净的结构。比较想法和挑选最好的很容易。中间工件缓存可以加快迭代速度。
部署与协作
使用push/pull命令将一致的ML模型、数据和代码包移动到生产、远程机器或同事的计算机中,而不是临时脚本。
DVC在Git中引入了轻量级管道作为一级公民机制。它们与语言无关,并将多个步骤连接到一个DAG中。这些管道用于消除代码进入生产过程中的摩擦。
特性:
Git兼容
DVC运行在任何Git存储库之上,并与任何标准Git服务器或提供者(GitHub、GitLab等)兼容。数据文件内容可以由网络可访问存储或任何支持的云解决方案共享。DVC提供了分布式版本控制系统的所有优点—无锁、本地分支和版本控制。
存储不可知
使用Amazon S3、Microsoft Azure Blob存储、Google Drive、Google云存储、Aliyun OSS、SSH/SFTP、HDFS、HTTP、网络连接存储或光盘存储数据。支持的远程存储列表在不断扩展。
再现性
可复制的
单个“dvc repro”命令端到端地再现实验。DVC通过始终如一地维护输入数据、配置和最初用于运行实验的代码的组合来保证再现性。
低摩擦分支
DVC完全支持即时Git分支,即使是大文件也是如此。分支漂亮地反映了ML过程的非线性结构和高度迭代的性质。数据是不重复的-一个文件版本可以属于几十个实验。创建尽可能多的实验,瞬间来回切换,并保存所有尝试的历史记录。
度量跟踪
指标是DVC的一等公民。DVC包含一个命令,用于列出所有分支以及度量值,以跟踪进度或选择最佳版本。
ML管道框架
DVC有一种内置的方式,可以将ML步骤连接到DAG中,并端到端地运行整个管道。DVC处理中间结果的缓存,如果输入数据或代码相同,则不会再次运行步骤。
语言与框架不可知论
无论使用哪种编程语言或库,或者代码是如何构造的,可再现性和管道都基于输入和输出文件或目录。Python、R、Julia、Scala Spark、custom binary、Notebooks、flatfiles/TensorFlow、PyTorch等都支持。
HDFS、Hive和Apache Spark
在DVC数据版本控制周期中包括Spark和Hive作业以及本地ML建模步骤,或者使用DVC端到端管理Spark和Hive作业。通过将繁重的集群作业分解为更小的DVC管道步骤,可以大大减少反馈循环。独立于依赖项迭代这些步骤。
故障跟踪
坏主意有时比成功的主意能在同事间激发更多的想法。保留失败尝试的知识可以节省将来的时间。DVC是建立在一个可复制和易于访问的方式跟踪一切。
用例
保存并复制你的实验
在任何时候,获取你或你的同事所做实验的全部内容。DVC保证所有的文件和度量都是一致的,并且在正确的位置复制实验或者将其用作新迭代的基线。
版本控制模型和数据
DVC将元文件保存在Git中,而不是Google文档中,用于描述和控制数据集和模型的版本。DVC支持多种外部存储类型,作为大型文件的远程缓存。
为部署和协作建立工作流
DVC定义了作为一个团队高效一致地工作的规则和流程。它用作协作、共享结果以及在生产环境中获取和运行完成的模型的协议。
| 本文 :https://architect.pub/dvc-open-source-version-control-system-machine-learning-projects | ||
| 讨论:知识星球【首席架构师圈】或者加微信小号【ca_cto】或者加QQ群【792862318】 | ||
| 公众号 | 【jiagoushipro】 【超级架构师】 精彩图文详解架构方法论,架构实践,技术原理,技术趋势。 我们在等你,赶快扫描关注吧。 | ![]() |
| 微信小号 | 【ca_cea】 50000人社区,讨论:企业架构,云计算,大数据,数据科学,物联网,人工智能,安全,全栈开发,DevOps,数字化. |
|
| QQ群 | 【285069459】深度交流企业架构,业务架构,应用架构,数据架构,技术架构,集成架构,安全架构。以及大数据,云计算,物联网,人工智能等各种新兴技术。 加QQ群,有珍贵的报告和干货资料分享。 |
|
| 视频号 | 【超级架构师】 1分钟快速了解架构相关的基本概念,模型,方法,经验。 每天1分钟,架构心中熟。 |
|
| 知识星球 | 【首席架构师圈】向大咖提问,近距离接触,或者获得私密资料分享。 |
|
| 喜马拉雅 | 【超级架构师】路上或者车上了解最新黑科技资讯,架构心得。 | 【智能时刻,架构君和你聊黑科技】 |
| 知识星球 | 认识更多朋友,职场和技术闲聊。 | 知识星球【职场和技术】 |
| 领英 | Harry | https://www.linkedin.com/in/architect-harry/ |
| 领英群组 | 领英架构群组 | https://www.linkedin.com/groups/14209750/ |
| 微博 | 【超级架构师】 | 智能时刻 |
| 哔哩哔哩 | 【超级架构师】 |
|
| 抖音 | 【cea_cio】超级架构师 |
|
| 快手 | 【cea_cio_cto】超级架构师 |
|
| 小红书 | 【cea_csa_cto】超级架构师 |
|
| 网站 | CIO(首席信息官) | https://cio.ceo |
| 网站 | CIO,CTO和CDO | https://cioctocdo.com |
| 网站 | 架构师实战分享 | https://architect.pub |
| 网站 | 程序员云开发分享 | https://pgmr.cloud |
| 网站 | 首席架构师社区 | https://jiagoushi.pro |
| 网站 | 应用开发和开发平台 | https://apaas.dev |
| 网站 | 开发信息网 | https://xinxi.dev |
| 网站 | 超级架构师 | https://jiagou.dev |
| 网站 | 企业技术培训 | https://peixun.dev |
| 网站 | 程序员宝典 | https://pgmr.pub |
| 网站 | 开发者闲谈 | https://blog.developer.chat |
| 网站 | CPO宝典 | https://cpo.work |
| 网站 | 首席安全官 | https://cso.pub |
| 网站 | CIO酷 | https://cio.cool |
| 网站 | CDO信息 | https://cdo.fyi |
| 网站 | CXO信息 | https://cxo.pub |













