What is DVC?
It is an open-source Version Control System for data science and machine learning projects. It is designed to handle large files, data sets, machine learning models, and metrics as well as code.
DVC is a tool in the Version Control System category of a tech stack.
DVC is an open source tool with 12K GitHub stars and 1.1K GitHub forks. Here’s a link to DVC's open source repository on GitHub
Who uses DVC?
Companies
6 companies reportedly use DVC in their tech stacks, including Labs, kraken, and Apps.
Developers
43 developers on StackShare have stated that they use DVC.
DVC Integrations
GitHub, Git, Python, Google Drive, and GitLab are some of the popular tools that integrate with DVC. Here's a list of all 12 tools that integrate with DVC.
Pros of DVC
2
Decisions about DVC
Here are some stack decisions, common use cases and reviews by companies and developers who chose DVC in their tech stack.
Hamid Ghader
I already use DVC to keep track and store my datasets in my machine learning pipeline. I have also started to use MLflow to keep track of my experiments. However, I still don't know whether to use DVC for my model files or I use the MLflow artifact store for this purpose. Or maybe these two serve different purposes, and it may be good to do both! Can anyone help, please?
DVC's Features
- Git-compatible
- Storage agnostic
- Reproducible
- Low friction branching
- Metric tracking
- ML pipeline framework
- Language- & framework-agnostic
- HDFS, Hive & Apache Spark
- Track failures
DVC Alternatives & Comparisons
What are some alternatives to DVC?
Pachyderm
Pachyderm is an open source MapReduce engine that uses Docker containers for distributed computations.
MLflow
MLflow is an open source platform for managing the end-to-end machine learning lifecycle.
Git
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
SVN (Subversion)
Subversion exists to be universally recognized and adopted as an open-source, centralized version control system characterized by its reliability as a safe haven for valuable data; the simplicity of its model and usage; and its ability to support the needs of a wide variety of users and projects, from individuals to large-scale enterprise operations.
Mercurial
Mercurial is dedicated to speed and efficiency with a sane user interface. It is written in Python. Mercurial's implementation and data structures are designed to be fast. You can generate diffs between revisions, or jump back in time within seconds.
Related Comparisons