Website• Docs• Blog• Twitter• Chat (Community & Support)• Tutorial• Mailing List
Data Version Control or DVC is an open-source tool for data science and machinelearning projects. Key features:
DVC aims to replace spreadsheet and document sharing tools (such as Excel or Google Docs)frequently used as both knowledge repositories and team ledgers.DVC also replaces both ad-hoc scripts to track, move, and deploy different model versionsand ad-hoc data file suffixes and prefixes.
Contents
We encourage you to read our Get Started guide to better understand what DVCis and how it can fit your scenarios.
The easiest (but not perfect!) analogy to describe it: DVC is Git (or Git-LFS to be precise) & Makefilesmade right and tailored specifically for ML and Data Science scenarios.
Git/Git-LFS
part - DVC helps store and share data artifacts and models, connecting them with a Git repository.Makefile
s part - DVC describes how one data or model artifact was built from other data and code.DVC usually runs along with Git. Git is used as usual to store and version code (including DVC meta-files). DVC helpsto store data and model files seamlessly out of Git, while preserving almost the same user experience as if theywere stored in Git itself. To store and share the data cache, DVC supports multiple remotes - any cloud (S3, Azure,Google Cloud, etc) or any on-premise network storage (via SSH, for example).
The DVC pipelines (computational graph) feature connects code and data together. It is possible to explicitlyspecify all steps required to produce a model: input dependencies including data, commands to run,and output information to be saved. See the quick start section below orthe Get Started tutorial to learn more.
Please read Get Started guide for a full version. Common workflow commands include:
Step | Command |
---|---|
Track data |
$ git add train.py
$ dvc add images.zip
|
Connect code and data by commands |
$ dvc run -n prepare -d images.zip -o images/ unzip -q images.zip
$ dvc run -n train -d images/ -d train.py -o model.p python train.py
|
Make changes and reproduce |
$ vi train.py
$ dvc repro model.p.dvc
|
Share code |
$ git add .
$ git commit -m 'The baseline model'
$ git push
|
Share data and ML models |
$ dvc remote add myremote -d s3://mybucket/image_cnn
$ dvc push
|
There are four options to install DVC: pip
, Homebrew, Conda (Anaconda) or an OS-specific package.Full instructions are available here.
snap install dvc --classic
This corresponds to the latest tagged release.Add --beta
for the latest tagged release candidate,or --edge
for the latest master
version.
choco install dvc
brew install dvc
conda install -c conda-forge mamba # installs much faster than conda
mamba install -c conda-forge dvc
Depending on the remote storage type you plan to use to keep and share your data, you might need toinstall optional dependencies: dvc-s3, dvc-azure, dvc-gdrive, dvc-gs, dvc-oss, dvc-ssh.
pip install dvc
Depending on the remote storage type you plan to use to keep and share your data, you might need to specifyone of the optional dependencies: s3
, gs
, azure
, oss
, ssh
. Or all
to include them all.The command should look like this: pip install dvc[s3]
(in this case AWS S3 dependencies such as boto3
will be installed automatically).
To install the development version, run:
pip install git+git://github.com/iterative/dvc
Self-contained packages for Linux, Windows, and Mac are available. The latest version of the packagescan be found on the GitHub releases page.
sudo wget https://dvc.org/deb/dvc.list -O /etc/apt/sources.list.d/dvc.list
sudo apt-get update
sudo apt-get install dvc
sudo wget https://dvc.org/rpm/dvc.repo -O /etc/yum.repos.d/dvc.repo
sudo yum update
sudo yum install dvc
Contributions are welcome! Please see our Contributing Guide for moredetails. Thanks to all our contributors!
Want to stay up to date? Want to help improve DVC by participating in our occasional polls? Subscribe to our mailing list. No spam, really low traffic.
This project is distributed under the Apache license version 2.0 (see the LICENSE file in the project root).
By submitting a pull request to this project, you agree to license your contribution under the Apache license version2.0 to this project.
Iterative, DVC: Data Version Control - Git for Data & Models (2020)DOI:10.5281/zenodo.012345.
Barrak, A., Eghan, E.E. and Adams, B. On the Co-evolution of ML Pipelines and Source Code - Empirical Study of DVC Projects , in Proceedings of the 28th IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2021. Hawaii, USA.
Dev-C++是一款挺不错的编译器。官方下载地址:点击打开链接 现总结一些常用快捷键: 1. 几个快捷键: 在工具->快捷键设置 中可以设置自己习惯使用的快捷键,下面给出几种常用的快捷键,均为系统默认的。 【Ctrl+N】新建源代码;【Ctrl+O】打开工程或文件;【Ctrl+S】保存; 【F9】编译程序; 【F10】运行; 【F11】编译并运
Dev-C++是一个小巧开源的C/C++集成开发环境,对于大部分的Linux函数,都可以在引用头文件后直接调用,但开发socket网络程序却要多做一些工作。 添加 头文件不可以。 添加 #pragma comment(lib,“ws2_32.lib”) 仍然报错 学习自:http://blog.sina.com.cn/s/blog_62bed5da01013148.html 在程序中引用头文件 #
1. 安装 pip install dvc 2. 初始化 mkdir dvc_example cd dvc_example git init dvc init 3. 添加数据 cp -r coco/test2017 dvc_example cp -r coco/val2017 dvc_example dvc add test2017 val2017 git add * git commit -
DVC 的基本使用 DVC (Data Version Control) 数据版本管理工具。DVC 类似于常用到的git代码管理工具。但 git 在工程中往往只是针对代码进行管理,换句话说就是对小文件进行管理,而 DVC 则解决了 git 的这个短板,它可以对工程中的大文件,数据进行管理。DVC 与 git 的结合使用,是目前工程中最具效率的搭档组合。DVC 官网 1. DVC 安装 pip in
*为什么要使用Dvc ? * 1.做算法或者机器学习的时候,需要使用不同的数据集来验证算法或者模型的效果,也会需要针对同一份数据集,对比不同版本的模型效果。 2.不适用Git管理数据集的原因 : Git 无法单独下载想要的数据集,git来管理大量数据集的话,可能git pull 或者 git push都会耗时很久,将算法模型代码和数据集耦合在一起。 简单来说,Dvc负责管理真正的数据源,Git负责
问题内容: 我想在使用vcs或dvcs时学习其他人的工作流程。 请描述您处理以下任务的策略: 实施功能 修复错误(在开发和部署应用期间) 代码审查 重构代码(审查后的代码) 合并补丁 发布较新版本的应用程序(台式机,网络,移动设备,您是否会区别对待?) 随意组织您的答案,而不是按任务分组,而是按您认为相关的任何分组,但请按VCS / DVCS进行组织(请不要混合使用)。 谢谢。 问题答案: VCS
问题内容: 我想对〜1m +个文档进行分类,并为相应模型的输入和输出提供一个版本控制系统。 数据随时间变化: 样本量随时间增加 新功能可能会出现 匿名程序可能会随着时间而改变 因此,基本上“一切”都可能发生变化:观测值,特征和值。我们感兴趣的是使ml模型构建在不使用10/100 + GB磁盘卷的情况下可重现,因为我们保存了输入数据的所有更新版本。目前,数据量约为700mb。 我发现的最有前途的工具