跳转到主要内容

数据科学家的Git - 一起管理代码和数据

项目描述

🚀 查看我们的新产品 DataChain(并给它一个 ⭐!)如果您需要版本控制和处理大量文件。请联系我们support@iterative.ai,讨论商业解决方案和AI可复现性和数据管理场景的支持。


网站文档博客教程相关技术DVC如何工作VS Code 扩展安装贡献社区和支持

GHA Tests Python Version Codecov VS Code Extension DOI

PyPI PyPI Downloads deb|pkg|rpm|exe Homebrew Conda-forge Chocolatey Snapcraft


数据版本控制DVC 是一个命令行工具和 VS Code 扩展,帮助您开发可复现的机器学习项目

  1. 版本 您的数据和模型。将它们存储在您的云存储中,但将它们的版本信息保存在您的 Git 仓库中。

  2. 迭代 快速使用轻量级管道。当您进行更改时,仅运行受这些更改影响的步骤。

  3. 跟踪 您本地 Git 仓库中的实验(无需服务器)。

  4. 比较 任何数据、代码、参数、模型或性能图。

  5. 共享 实验,并自动复现任何人的实验。

快速开始

请阅读我们的 命令参考 以获取完整列表。

常见的 CLI 工作流程包括

任务

终端

跟踪数据

$ git add train.py params.yaml
$ dvc add images/

连接代码和数据

$ dvc stage add -n featurize -d images/ -o features/ python featurize.py
$ dvc stage add -n train -d features/ -d train.py -o model.p -M metrics.json python train.py

进行更改和实验

$ dvc exp run -n exp-baseline
$ vi train.py
$ dvc exp run -n exp-code-change

比较和选择实验

$ dvc exp show
$ dvc exp apply exp-baseline

共享代码

$ git add .
$ git commit -m '基础模型'
$ git push

共享数据和 ML 模型

$ dvc remote add myremote -d s3://mybucket/image_cnn
$ dvc push

DVC如何工作

我们鼓励您阅读我们的 入门 文档,以更好地了解DVC的功能以及它如何适应您的场景。

描述DVC主要功能的最佳类比如下

  1. 数据版本的Git:存储和共享数据工件(如Git-LFS,但无需服务器)和模型,通过Git仓库将它们连接起来。数据管理遇到GitOps!

  2. 机器学习Makefiles:以标准格式描述数据或模型工件如何从其他数据和代码构建。现在您可以使用Git对数据管道进行版本控制。

  3. 本地 实验跟踪:将您的计算机变成一个ML实验管理平台,并使用现有的Git托管(Github、Gitlab等)与他人协作。

通常使用Git来存储和版本控制代码(包括DVC元文件作为数据占位符)。DVC在Git之外无缝存储数据和模型文件,同时几乎保留与在仓库中相同的使用体验。为了共享和备份 数据缓存,DVC支持多个远程存储平台 - 任何云(S3、Azure、Google Cloud等)或本地网络存储(例如通过SSH)。

how_dvc_works

DVC流水线(计算图)将代码和数据连接在一起。它们指定了生成模型所需的所有步骤:包括代码、数据和运行命令的输入依赖项;以及要保存的输出信息。

最后但同样重要的是,DVC实验版本控制让您准备和运行大量实验。可以根据超参数和指标对其结果进行筛选和比较,并使用多个图表进行可视化。

VS Code 扩展

VS Code Extension

要直接从您的 VS Code IDE 使用 DVC 作为 GUI,请从 Marketplace 安装 DVC 扩展。它目前具有实验跟踪和数据管理功能,还有更多功能(数据管道支持等)即将推出!

DVC Extension for VS Code

注意:您必须在系统上单独安装核心 DVC(如下文所述)。如有需要,扩展会引导您。

安装

安装 DVC 有几种方法:在 VS Code 中;使用 snapchocobrewcondapip;或使用特定于操作系统的包。完整说明请在此处查看

Snapcraft(Linux)

Snapcraft

snap install dvc --classic

这对应于最新标记的发布版本。添加 --beta 以获取最新标记的候选版本,或添加 --edge 以获取最新 main 版本。

Chocolatey(Windows)

Chocolatey

choco install dvc

Brew(mac OS)

Homebrew

brew install dvc

Anaconda(任何平台)

Conda-forge

conda install -c conda-forge mamba # installs much faster than conda
mamba install -c conda-forge dvc

根据您计划使用的远程存储类型来保存和共享数据,您可能需要安装可选依赖项:dvc-s3dvc-azuredvc-gdrivedvc-gsdvc-ossdvc-ssh

PyPI(Python)

PyPI

pip install dvc

根据您计划使用的远程存储类型来保存和共享数据,您可能需要指定以下可选依赖项之一:s3gsazureossssh。或者指定 all 以包含它们全部。命令应如下所示:pip install 'dvc[s3]'(在这种情况下,AWS S3 依赖项,如 boto3,将自动安装)。

要安装开发版本,请运行

pip install git+git://github.com/iterative/dvc

包(平台特定)

deb|pkg|rpm|exe

适用于 Linux、Windows 和 Mac 的自包含包可用。包的最新版本可以在 GitHub 发布页面 上找到。

Ubuntu / Debian(deb)

sudo wget https://dvc.org/deb/dvc.list -O /etc/apt/sources.list.d/dvc.list
wget -qO - https://dvc.org/deb/iterative.asc | sudo apt-key add -
sudo apt update
sudo apt install dvc

Fedora / CentOS(rpm)

sudo wget https://dvc.org/rpm/dvc.repo -O /etc/yum.repos.d/dvc.repo
sudo rpm --import https://dvc.org/rpm/iterative.asc
sudo yum update
sudo yum install dvc

贡献

Code Climate

欢迎贡献力量!有关更多详细信息,请参阅我们的 贡献指南。感谢所有贡献者!

Contributors

社区和支持

引用

DOI

Iterative,DVC:数据版本控制 - 数据和模型的 Git(2020)DOI:10.5281/zenodo.012345

Barrak,A.,Eghan,E.E. 和 Adams,B.,《关于机器学习管道和源代码的协同进化 - DVC 项目的实证研究》,在 28th IEEE 国际软件分析、进化和重构会议(SANER 2021)论文集中。美国夏威夷。

项目详情


发布历史 发布通知 | RSS订阅

下载文件

下载适用于您平台的项目文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

dvc-3.55.2.tar.gz (647.5 kB 查看哈希值)

上传时间

构建分布

dvc-3.55.2-py3-none-any.whl (455.1 kB 查看哈希值)

上传时间 Python 3

由以下支持