数据科学家的Git - 一起管理代码和数据
项目描述
🚀 查看我们的新产品 DataChain(并给它一个 ⭐!)如果您需要版本控制和处理大量文件。请联系我们support@iterative.ai,讨论商业解决方案和AI可复现性和数据管理场景的支持。
网站 • 文档 • 博客 • 教程 • 相关技术 • DVC如何工作 • VS Code 扩展 • 安装 • 贡献 • 社区和支持
数据版本控制 或 DVC 是一个命令行工具和 VS Code 扩展,帮助您开发可复现的机器学习项目
版本 您的数据和模型。将它们存储在您的云存储中,但将它们的版本信息保存在您的 Git 仓库中。
迭代 快速使用轻量级管道。当您进行更改时,仅运行受这些更改影响的步骤。
跟踪 您本地 Git 仓库中的实验(无需服务器)。
比较 任何数据、代码、参数、模型或性能图。
共享 实验,并自动复现任何人的实验。
快速开始
请阅读我们的 命令参考 以获取完整列表。
常见的 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主要功能的最佳类比如下
数据版本的Git:存储和共享数据工件(如Git-LFS,但无需服务器)和模型,通过Git仓库将它们连接起来。数据管理遇到GitOps!
机器学习Makefiles:以标准格式描述数据或模型工件如何从其他数据和代码构建。现在您可以使用Git对数据管道进行版本控制。
本地 实验跟踪:将您的计算机变成一个ML实验管理平台,并使用现有的Git托管(Github、Gitlab等)与他人协作。
通常使用Git来存储和版本控制代码(包括DVC元文件作为数据占位符)。DVC在Git之外无缝存储数据和模型文件,同时几乎保留与在仓库中相同的使用体验。为了共享和备份 数据缓存,DVC支持多个远程存储平台 - 任何云(S3、Azure、Google Cloud等)或本地网络存储(例如通过SSH)。
DVC流水线(计算图)将代码和数据连接在一起。它们指定了生成模型所需的所有步骤:包括代码、数据和运行命令的输入依赖项;以及要保存的输出信息。
最后但同样重要的是,DVC实验版本控制让您准备和运行大量实验。可以根据超参数和指标对其结果进行筛选和比较,并使用多个图表进行可视化。
VS Code 扩展
要直接从您的 VS Code IDE 使用 DVC 作为 GUI,请从 Marketplace 安装 DVC 扩展。它目前具有实验跟踪和数据管理功能,还有更多功能(数据管道支持等)即将推出!
注意:您必须在系统上单独安装核心 DVC(如下文所述)。如有需要,扩展会引导您。
安装
安装 DVC 有几种方法:在 VS Code 中;使用 snap、choco、brew、conda、pip;或使用特定于操作系统的包。完整说明请在此处查看。
Snapcraft(Linux)
snap install dvc --classic
这对应于最新标记的发布版本。添加 --beta 以获取最新标记的候选版本,或添加 --edge 以获取最新 main 版本。
Chocolatey(Windows)
choco install dvc
Brew(mac OS)
brew install dvc
Anaconda(任何平台)
conda install -c conda-forge mamba # installs much faster than conda
mamba install -c conda-forge dvc
根据您计划使用的远程存储类型来保存和共享数据,您可能需要安装可选依赖项:dvc-s3、dvc-azure、dvc-gdrive、dvc-gs、dvc-oss、dvc-ssh。
PyPI(Python)
pip install dvc
根据您计划使用的远程存储类型来保存和共享数据,您可能需要指定以下可选依赖项之一:s3、gs、azure、oss、ssh。或者指定 all 以包含它们全部。命令应如下所示:pip install 'dvc[s3]'(在这种情况下,AWS S3 依赖项,如 boto3,将自动安装)。
要安装开发版本,请运行
pip install git+git://github.com/iterative/dvc
包(平台特定)
适用于 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
贡献
欢迎贡献力量!有关更多详细信息,请参阅我们的 贡献指南。感谢所有贡献者!
社区和支持
版权
本项目根据 Apache 许可证 2.0 版本分发(请参阅项目根目录中的 LICENSE 文件)。
通过向本项目提交拉取请求,您同意在 Apache 许可证 2.0 版本下许可您的贡献给本项目。
引用
Iterative,DVC:数据版本控制 - 数据和模型的 Git(2020)DOI:10.5281/zenodo.012345。
Barrak,A.,Eghan,E.E. 和 Adams,B.,《关于机器学习管道和源代码的协同进化 - DVC 项目的实证研究》,在 28th IEEE 国际软件分析、进化和重构会议(SANER 2021)论文集中。美国夏威夷。
项目详情
下载文件
下载适用于您平台的项目文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
构建分布
dvc-3.55.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2fbb38385753d51b25967c80e672cf9dea046bdac182c159a2c1d1f246d15ce0 |
|
MD5 | 42e7273b6d305fba4960c8f20f24ae66 |
|
BLAKE2b-256 | cefe30d8a9733f1edddd356766f0ec167e950e26a4717ec6f0c397da25f9510f |
dvc-3.55.2-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1324e4a5471618a4300dd0a7c33ac877d5e057fbe48940812116494865d0e4e2 |
|
MD5 | ae6c2c4728102df8c1443c6b5548e375 |
|
BLAKE2b-256 | a2fd6f6095b001c1f265938eee4be8830e1d4da07d4bd9d15538d25793b5fe81 |