DVC - 数据版本和机器学习实验的命令行工具和 VS Code 扩展

在这里插入图片描述

文章目录

    • 一、关于 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扩展,可帮助您开发可重现的机器学习项目:

  1. 版本化您的数据和模型。将它们存储在您的云存储中,但将它们的版本信息保存在您的Git存储库中。
  2. 使用轻量级管道快速迭代。进行更改时,仅运行受这些更改影响的步骤。
  3. 在本地Git存储库中跟踪实验(不需要服务器)。
  4. 比较任何数据、代码、参数、模型或性能图。
  5. 共享实验并自动复制任何人的实验。
  • 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功能的最接近的类比是:

  1. 用于数据的Git:存储和共享数据工件(如Git-LFS,但没有服务器)和模型,将它们与Git存储库连接起来。数据管理遇到GitOps!
  2. Makefile for ML:描述如何以标准格式从其他数据和代码构建数据或模型工件。现在您可以使用Git版本您的数据管道。
  3. 本地实验跟踪:将您的机器变成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中;使用snapchocobrewcondapip;或者使用特定于操作系统的软件包。这里提供完整的说明。


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

根据您计划用于保存和共享数据的远程存储类型,您可能需要指定一个可选依赖项:s3gsazureossssh。或者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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/961350.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

实现前端当中的页面过渡动画

使用 HTML、CSS 和 JavaScript 实现页面过渡动画 在现代网页设计中,用户体验是至关重要的。而页面切换时的平滑过渡效果,不仅能让界面更加美观,也能增强用户的互动体验。 引言 作为一名热爱前端开发的程序员,我一直在寻找能提…

AJAX笔记入门篇

黑马程序员视频地址: 黑马程序员前端AJAX入门到实战全套教程https://www.bilibili.com/video/BV1MN411y7pw?vd_source0a2d366696f87e241adc64419bf12cab&spm_id_from333.788.videopod.episodes&p2https://www.bilibili.com/video/BV1MN411y7pw?vd_source…

ts 进阶

吴悠讲编程 : 20分钟TypeScript进阶!无废话快速提升水平 前端速看 https://www.bilibili.com/video/BV1q64y1j7aH

望获实时Linux系统:2024回顾与2025展望

2024年回顾 功能安全认证 2024年4月,望获操作系统V2获ISO26262:2018功能安全产品认证(ASIL B等级),达到国际功能安全标准。 EtherCAT实时性增强 2024年5月,发布通信实时增强组件,EtherCAT总线通信抖…

linux监控脚本+自动触发邮件发送

linux脚本 需求: CPU 负载:使用 uptime 命令,我们可以清楚地了解系统的 CPU 负载情况。这个命令会显示系统在过去 1 分钟、5 分钟和 15 分钟的平均负载。高负载可能意味着系统正在处理大量的任务,可能会导致性能下降或服务响应延迟…

软件工程概论试题一

一、单选 1.下面关于“发布测试”的观点错误的是( )。 A.系统开发团队不应该负责发布测试 B.发布测试是一个确认检查的过程 C.发布测试的目的是让系统供应商确信系统足够好可以使用了 D.发布测试通常采用白盒测试 正答:D 2.下图最有可能是()体系结构风格。 A. C…

iPhone SE(第三代) 设备详情图

目录 产品宣传图内部图——后设备详细信息 产品宣传图 内部图——后 设备详细信息 信息收集于HubWeb.cn

基于物联网设计的疫苗冷链物流监测系统

一、前言 1.1 项目开发背景 随着全球经济的发展和物流行业的不断创新,疫苗和生物制品的运输要求变得越来越高。尤其是疫苗的冷链物流,温度、湿度等环境因素的控制直接关系到疫苗的质量和效力,因此高效、可靠的冷链监控系统显得尤为重要。冷…

ZZNUOJ(C/C++)基础练习1000——1010(详解版)

目录 1000 : AB Problem C语言版 C版 1001 : 植树问题 C语言版 C版 1002 : 简单多项式求和 C语言版 C版 1003 : 两个整数的四则运算 C语言版 C版 1004 : 三位数的数位分离 C语言版 C版 补充代…

mapbox加载geojson,鼠标移入改变颜色,设置样式以及vue中的使用

全国地图json数据下载地址 目录 html加载全部代码 方式一:使用html方式加载geojson 1. 初始化地图 2. 加载geojson数据 设置geojson图层样式,设置type加载数据类型 设置线条 鼠标移入改变颜色,设置图层属性,此处是fill-extru…

Linux进程调度与等待:背后的机制与实现

个人主页:chian-ocean 文章专栏-Linux 前言: 当一个进程发起某种操作(如I/O请求、信号、锁的获取等),但该操作需要的资源暂时不可用时,进程会被操作系统挂起,进入“等待队列”或“阻塞状态”。…

低代码系统-产品架构案例介绍、明道云(十一)

明道云HAP-超级应用平台(Hyper Application Platform),其实就是企业级应用平台,跟微搭类似。 通过自设计底层架构,兼容各种平台,使用低代码做到应用搭建、应用运维。 企业级应用平台最大的特点就是隐藏在冰山下的功能很深&#xf…

DeepSeek大模型技术解析:从架构到应用的全面探索

一、引言 在人工智能领域,大模型的发展日新月异,其中DeepSeek大模型凭借其卓越的性能和广泛的应用场景,迅速成为业界的焦点。本文旨在深入剖析DeepSeek大模型的技术细节,从架构到应用进行全面探索,以期为读者提供一个…

python学opencv|读取图像(四十八)使用cv2.bitwise_xor()函数实现图像按位异或运算

【0】基础定义 按位与运算:两个等长度二进制数上下对齐,全1取1,其余取0。 按位或运算:两个等长度二进制数上下对齐,有1取1,其余取0。 按位取反运算:一个二进制数,0变1,1变0。 按…

DeepSeek辅助学术写作摘要内容

学术摘要写作 摘要是文章的精华,通常在200-250词左右。要包括研究的目的、方法、结果和结论。让AI工具作为某领域内资深的研究专家,编写摘要需要言简意赅,直接概括论文的核心,为读者提供快速了解的窗口。 下面我们使用DeepSeek编…

World Creator地形导入UE

修改导出分辨率1009x1009, 虚幻默认参数的整体分辨率是1009 导出预设选择高度图(heigh map)格式选择PNG 16位,或者RAW 16位,需要反转y轴(与虚幻不同),命名格式会自动带一个 , 将改成_ 或者删掉自己命名 &am…

大数据Hadoop入门3

目录 第五部分(Apache Hive DML语句和函数使用) 1.课程内容大纲和学习目标 2.Hive SQL-DML-load加载数据操作 3.Hive SQL-DML-insert插入数据 4.Hive SQL-DML-select查询-语法书和环境准备 5.Hive SQL-DML-select查询-列表达式和distinct去重 6.Hi…

WPS数据分析000005

目录 一、数据录入技巧 二、一维表 三、填充柄 向下自动填充 自动填充选项 日期填充 星期自定义 自定义序列 1-10000序列 四、智能填充 五、数据有效性 出错警告 输入信息 下拉列表 六、记录单 七、导入数据 ​编辑 八、查找录入 会员功能 Xlookup函数 VL…

【Redis】hash 类型的介绍和常用命令

1. 介绍 Redis 中存储的 key-value 本身就是哈希表的结构,存储的 value 也可以是一个哈希表的结构 这里每一个 key 对应的一个 哈希类型用 field-value 来表示 2. 常用命令 命令 介绍 时间复杂度 hset key field value 用于设置哈希表 key 中字段 field 的值为…

基于STM32的阿里云智能农业大棚

目录 前言: 项目效果演示: 一、简介 二、硬件需求准备 三、硬件框图 四、CubeMX配置 4.1、按键、蜂鸣器GPIO口配置 4.2、ADC输入配置 4.3、IIC——驱动OLED 4.4、DHT11温湿度读取 4.5、PWM配置——光照灯、水泵、风扇 4.6、串口——esp8266模…