文章目录
- 一、关于 DVC
- 二、快速启动
- 三、DVC的工作原理
- 四、VS代码扩展
- 五、安装
- Snapcraft(Linux)
- Chocolatey (Windows)
- Brew (mac OS)
- Anaconda (Any platform)
- PyPI(Python)
- Package (Platform-specific)
- Ubuntu / Debian (deb)
- Fedora / CentOS (rpm)
一、关于 DVC
DVC : Data Version Control
DVC是一个命令行工具和VS Code扩展,可帮助您开发可重现的机器学习项目:
- 版本化您的数据和模型。将它们存储在您的云存储中,但将它们的版本信息保存在您的Git存储库中。
- 使用轻量级管道快速迭代。进行更改时,仅运行受这些更改影响的步骤。
- 在本地Git存储库中跟踪实验(不需要服务器)。
- 比较任何数据、代码、参数、模型或性能图。
- 共享实验并自动复制任何人的实验。
- github : https://github.com/iterative/dvc
- 网站 : https://dvc.org/
- 文档 : https://dvc.org/doc
- 博客 : http://blog.dataversioncontrol.com/
- 教程 : https://dvc.org/doc/get-started
- 相关技术 | DVC如何工作 | VS代码扩展 | 安装
- 贡献 | 社区和支持
🚀如果您需要对大量文件进行版本化和处理,请查看产品DataChain,联系 support@iterative.ai 讨论商业解决方案以及对AI可重复性和数据管理场景的支持。
二、快速启动
请阅读命令参考以获取完整列表。
常见的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 'The baseline model' $ git push |
共享数据和ML模型 | $ dvc remote add myremote -d s3://mybucket/image_cnn $ dvc push |
三、DVC的工作原理
我们鼓励您阅读我们的入门文档,以更好地了解DVC的功能以及它如何适合您的场景。
描述主要DVC功能的最接近的类比是:
- 用于数据的Git:存储和共享数据工件(如Git-LFS,但没有服务器)和模型,将它们与Git存储库连接起来。数据管理遇到GitOps!
- Makefile for ML:描述如何以标准格式从其他数据和代码构建数据或模型工件。现在您可以使用Git版本您的数据管道。
- 本地实验跟踪:将您的机器变成ML实验管理平台,并使用现有的Git托管(Github、Gitlab等)与其他人协作。
Git像往常一样被用来存储和版本代码(包括DVC元文件作为数据的占位符)。DVC在Git之外的缓存中无缝地存储数据和模型文件,同时保持几乎与存储库中相同的用户体验。为了共享和备份数据高速缓存,DVC支持多个远程存储平台——任何云(S3、Azure、谷歌云等)或本地网络存储(例如通过SSH)。
DVC管道(计算图)将代码和数据连接在一起。它们指定了生成模型所需的所有步骤:输入依赖项,包括代码、数据、要运行的命令;和要保存的输出信息。
最后但并非最不重要的一点是,DVC实验版本控制让您可以准备和运行大量的实验,它们的结果可以基于超参数和指标进行过滤和比较,并通过多图进行可视化。
四、VS代码扩展
要直接从VS Code IDE将DVC用作GUI,请从Marketplace安装DVC扩展。它目前具有实验跟踪和数据管理功能,更多功能(数据管道支持等)即将推出!
https://raw.githubusercontent.com/iterative/vscode-dvc/main/extension/docs/overview.gif
注意:您必须单独在系统上安装核心DVC(如下所述)。如果需要,扩展程序将指导您。
五、安装
有几种方法可以安装DVC:在VS Code中;使用snap
、choco
、brew
、conda
、pip
;或者使用特定于操作系统的软件包。这里提供完整的说明。
Snapcraft(Linux)
https://snapcraft.io/dvc
snap install dvc --classic
这对应于最新标记的发布版本。添加--beta
用于最新标记的发布版本,或--edge
用于最新的main
版本。
Chocolatey (Windows)
https://chocolatey.org/packages/dvc
choco install dvc
Brew (mac OS)
https://formulae.brew.sh/formula/dvc
brew install dvc
Anaconda (Any platform)
https://anaconda.org/conda-forge/dvc
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)
https://pypi.org/project/dvc
pip install dvc
根据您计划用于保存和共享数据的远程存储类型,您可能需要指定一个可选依赖项:s3
、gs
、azure
、oss
、ssh
。或者all
包含它们。命令应该如下所示:pip install 'dvc[s3]'
(在这种情况下,AWS S3依赖项,如boto3
将自动安装)。
要安装开发版本,请运行:
pip install git+git://github.com/iterative/dvc
Package (Platform-specific)
https://dvc.org/doc/install
适用于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