OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  DVC — 数据版本管理

DVC — 数据版本管理

 
  apex ·  2025-11-01 06:35:21 · 12 次点击  · 0 条评论  

|Banner|

网站 <https://dvc.org>
文档 <https://dvc.org/doc>

博客 <http://blog.dataversioncontrol.com>
教程 <https://dvc.org/doc/get-started>

相关技术 <https://dvc.org/doc/user-guide/related-technologies>
DVC 工作原理

VS Code 扩展
安装

贡献
社区与支持

|CI| |Python Version| |Coverage| |VS Code| |DOI|

|PyPI| |PyPI Downloads| |Packages| |Brew| |Conda| |Choco| |Snap|

|

Data Version ControlDVC)是一个命令行工具和 VS Code 扩展_,旨在帮助您开发可复现的机器学习项目:

. 版本化您的数据和模型。

将数据和模型存储在云存储中,但将版本信息保留在 Git 仓库中。

. 使用轻量级流水线快速迭代

当您进行更改时,只运行受这些更改影响的步骤。

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

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

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

快速开始

完整命令列表请参阅我们的 `命令参考 <https://dvc.org/doc/command-reference>`_。

常见的 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 工作原理

我们建议您阅读 `入门指南 <https://dvc.org/doc/get-started>`_ 文档,以更好地理解 DVC 的功能及其适用场景。

描述 DVC 主要功能最贴切的类比如下:

. 数据的 Git:存储和共享数据工件(类似于 Git-LFS,但无需服务器)和模型,并将它们与 Git 仓库连接。数据管理遇上 GitOps!

. ML 的 Makefiles:以标准格式描述数据或模型工件如何从其他数据和代码构建。现在您可以使用 Git 对数据流水线进行版本控制。

. 本地实验跟踪:将您的机器转变为 ML 实验管理平台,并利用现有的 Git 托管服务(Github、Gitlab 等)与他人协作。

像往常一样使用 Git 来存储和版本化代码(包括作为数据占位符的 DVC 元文件)。
DVC 将数据和模型文件无缝存储在 Git 之外的缓存中 <https://dvc.org/doc/start/data-management>_,同时保持几乎与在仓库中相同的用户体验。
为了共享和备份数据缓存,DVC 支持多种远程存储平台——任何云存储(S3、Azure、Google Cloud 等)或本地网络存储(例如通过 SSH)。

|Flowchart|

DVC 流水线 <https://dvc.org/doc/start/data-management/data-pipelines>_(计算图)将代码和数据连接在一起。
它们指定了生成模型所需的所有步骤:输入依赖项(包括代码、数据、要运行的命令)以及要保存的输出信息。

最后同样重要的是,DVC 实验版本控制 <https://dvc.org/doc/start/experiments>_ 让您可以准备和运行大量实验。
可以根据超参数和指标对结果进行过滤和比较,并通过多种图表进行可视化。

.. _VS Code 扩展:

VS Code 扩展

|VS Code|

若要在 VS Code IDE 中直接使用 DVC 的图形界面,请从 Marketplace 安装 DVC 扩展 <https://marketplace.visualstudio.com/items?itemName=Iterative.dvc>_。
目前它支持实验跟踪和数据管理,更多功能(数据流水线支持等)即将推出!

|VS Code Extension Overview|

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

安装

有多种方式可以安装 DVC:在 VS Code 中安装;使用 snapchocobrewcondapip;或使用特定于操作系统的软件包。
完整说明请参见 此处 <https://dvc.org/doc/get-started/install>_。

Snapcraft (Linux)

|Snap|

.. code-block:: bash

snap install dvc --classic

这对应于最新的标记版本。
添加 --beta 可安装最新的候选版本,或添加 --edge 安装最新的 main 版本。

Chocolatey (Windows)

|Choco|

.. code-block:: bash

choco install dvc

Brew (mac OS)

|Brew|

.. code-block:: bash

brew install dvc

Anaconda (任何平台)

|Conda|

.. code-block:: bash

conda install -c conda-forge mamba # 安装速度比 conda 快得多
mamba install -c conda-forge dvc

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

PyPI (Python)

|PyPI|

.. code-block:: bash

pip install dvc

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

要安装开发版本,请运行:

.. code-block:: bash

pip install "dvc @ git+https://github.com/treeverse/dvc"

软件包 (平台特定)

|Packages|

适用于 Linux、Windows 和 Mac 的独立软件包已提供。
软件包的最新版本可在 GitHub 发布页面 <https://github.com/treeverse/dvc/releases>_ 找到。

Ubuntu / Debian (deb)
^^^^^^^^^^^^^^^^^^^^^
.. code-block:: bash

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)
^^^^^^^^^^^^^^^^^^^^^
.. code-block:: bash

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

贡献

欢迎贡献!
详情请参阅我们的 贡献指南 <https://dvc.org/doc/user-guide/contributing/core>_。
感谢所有贡献者!

|Contribs|

社区与支持

  • Twitter <https://twitter.com/DVCorg>_
  • 论坛 <https://discuss.dvc.org/>_
  • Discord 聊天 <https://dvc.org/chat>_
  • 电子邮件 <mailto:support@dvc.org>_
  • 邮件列表 <https://dvc.org/community#subscribe>_

版权

本项目根据 Apache 许可证 2.0 版分发(请参阅项目根目录中的 LICENSE 文件)。

向本项目提交拉取请求,即表示您同意根据 Apache 许可证 2.0 版将您的贡献授权给本项目。

引用

|DOI|

Iterative, DVC: Data Version Control - Git for Data & Models (2020)
DOI:10.5281/zenodo.012345 <https://doi.org/10.5281/zenodo.3677553>_.

Barrak, A., Eghan, E.E. and Adams, B. On the Co-evolution of ML Pipelines and Source Code - Empirical Study of DVC Projects <https://mcis.cs.queensu.ca/publications/2021/saner.pdf>_ , in Proceedings of the 28th IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2021. Hawaii, USA.

.. |Banner| image:: https://dvc.org/img/logo-github-readme.png
:target: https://dvc.org
:alt: DVC 徽标

.. |VS Code Extension Overview| image:: https://raw.githubusercontent.com/treeverse/vscode-dvc/main/extension/docs/overview.gif
:alt: DVC VS Code 扩展

.. |CI| image:: https://github.com/treeverse/dvc/actions/workflows/tests.yaml/badge.svg
:target: https://github.com/treeverse/dvc/actions/workflows/tests.yaml
:alt: GHA 测试

.. |Python Version| image:: https://img.shields.io/pypi/pyversions/dvc
:target: https://pypi.org/project/dvc
:alt: Python 版本

.. |Coverage| image:: https://codecov.io/gh/treeverse/dvc/branch/main/graph/badge.svg
:target: https://codecov.io/gh/treeverse/dvc
:alt: Codecov

.. |Snap| image:: https://img.shields.io/badge/snap-install-82BEA0.svg?logo=snapcraft
:target: https://snapcraft.io/dvc
:alt: Snapcraft

.. |Choco| image:: https://img.shields.io/chocolatey/v/dvc?label=choco
:target: https://chocolatey.org/packages/dvc
:alt: Chocolatey

.. |Brew| image:: https://img.shields.io/homebrew/v/dvc?label=brew
:target: https://formulae.brew.sh/formula/dvc
:alt: Homebrew

.. |Conda| image:: https://anaconda.org/conda-forge/dvc/badges/version.svg
:target: https://anaconda.org/conda-forge/dvc
:alt: Conda-forge

.. |PyPI| image:: https://img.shields.io/pypi/v/dvc.svg?label=pip&logo=PyPI&logoColor=white
:target: https://pypi.org/project/dvc
:alt: PyPI

.. |PyPI Downloads| image:: https://img.shields.io/pypi/dm/dvc.svg?color=blue&label=Downloads&logo=pypi&logoColor=gold
:target: https://pypi.org/project/dvc
:alt: PyPI 下载量

.. |Packages| image:: https://img.shields.io/badge/deb|pkg|rpm|exe-blue
:target: https://dvc.org/doc/install
:alt: deb|pkg|rpm|exe

.. |DOI| image:: https://img.shields.io/badge/DOI-10.5281/zenodo.3677553-blue.svg
:target: https://doi.org/10.5281/zenodo.3677553
:alt: DOI

.. |Flowchart| image:: https://dvc.org/img/flow.gif
:target: https://dvc.org/img/flow.gif
:alt: DVC 工作原理

.. |Contribs| image:: https://contrib.rocks/image?repo=treeverse/dvc
:target: https://github.com/treeverse/dvc/graphs/contributors
:alt: 贡献者

.. |VS Code| image:: https://img.shields.io/visual-studio-marketplace/v/Iterative.dvc?color=blue&label=VSCode&logo=visualstudiocode&logoColor=blue
:target: https://marketplace.visualstudio.com/items?itemName=Iterative.dvc
:alt: VS Code 扩展

12 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私政策 ·  服务条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 20 ms
Developed with Cursor