首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏AI研习社

    使用 git 和 dvc 解决版本控制机器学习模型

    本文介绍一个使用git和dvc(Data Version Control:https://dvc.org/doc/tutorial)来对机器学习模型版本控制的方案。 Git 和 DVC ? 方案包括两层版本控制: 1. git: 处理代码和数据集和模型组件的元数据; 2. dvc: 处理大型数据集和模型组件。 第一步,把模型元数据加入到dvcdvc add model.h5 输出如下: ? 咱们可以看到: “真实”的模型存储在位置: .dvc/cache/40 模型元数据 model.h5.dvc 记录了它到底在哪儿 ? dvc pull model.h5.dvc ?

    3.7K20发布于 2019-08-20
  • MLflow、DVC助力MySQL与AI模型完美融合》

    三、DVC在MySQL与AI模型版本控制集成中的作用数据版本控制DVC的主要功能是数据版本控制。在AI项目中,数据的变化对模型的影响至关重要。不同版本的数据集可能会导致模型性能的显著差异。 DVC通过将数据文件与Git仓库关联,实现了数据的版本管理。与MySQL集成时,DVC可以将数据的版本信息存储在MySQL中,同时利用MySQL的事务处理能力,确保数据版本控制的一致性和可靠性。 使用DVC可以记录每次数据的修改,将数据的版本信息存储在MySQL中。 DVC可以跟踪这些变化,并将相关信息存储在MySQL中。 DVC会记录这些变化,并将相关信息存储在MySQL中。

    47900编辑于 2025-04-07
  • 来自专栏超级架构师

    「机器学习」DVC:面向机器学习项目的开源版本控制系统

    DVC用于跟踪ML模型和数据集 DVC的建立是为了使ML模型具有可共享性和可复制性。它设计用于处理大型文件、数据集、机器学习模型、度量以及代码。 再现性 可复制的 单个“dvc repro”命令端到端地再现实验。DVC通过始终如一地维护输入数据、配置和最初用于运行实验的代码的组合来保证再现性。 度量跟踪 指标是DVC的一等公民。DVC包含一个命令,用于列出所有分支以及度量值,以跟踪进度或选择最佳版本。 ML管道框架 DVC有一种内置的方式,可以将ML步骤连接到DAG中,并端到端地运行整个管道。DVC处理中间结果的缓存,如果输入数据或代码相同,则不会再次运行步骤。 HDFS、Hive和Apache Spark 在DVC数据版本控制周期中包括Spark和Hive作业以及本地ML建模步骤,或者使用DVC端到端管理Spark和Hive作业。

    2K10编辑于 2022-01-25
  • 来自专栏AI SPPECH

    71_数据版本控制:Git与DVC在LLM开发中的最佳实践

    # 初始化DVC dvc init # 将DVC配置添加到Git git add .dvc .dvcignore git commit -m "初始化DVC" 初始化完成后,DVC会创建以下重要文件和目录 : .dvc/:DVC的配置目录 .dvc/config:DVC的主配置文件 .dvcignore:类似.gitignore,指定DVC忽略的文件 3.3 配置远程存储 DVC支持多种远程存储后端,配置远程存储是使用 push # 只推送特定数据 dvc push data/training.dvc # 拉取所有数据 dvc pull # 只拉取特定数据 dvc pull models/fine-tuned-model.ckpt.dvc dvc checkout data/training.dvc dvc checkout # 回滚到上一个版本 dvc checkout HEAD^ data/training.dvc dvc checkout dvc pull --resume 并行操作: # 设置并行度 dvc pull -j 8 9.4 扩展与插件系统 DVC支持通过插件扩展功能: 自定义DVC命令: # dvc_plugins/my_plugin.py

    43110编辑于 2025-11-16
  • 来自专栏数据派THU

    独家 | 6个Python数据科学库正在狂飙,你一定要学来提升文化素养

    简而言之,DVC 是数据业内的 Git。 当你用命令 dvc add directory 来跟踪大文件和目录的时候,会创建轻量的directory.dvc 元数据文件。 然后,DVC将这些轻量级的文件作为原始重文件的占位符进行管理。 DVC处理大型数据集和模型组件,git处理directory.dvc中的元数据。他们形成了完美的组合。 DVC的另一个优势是它智能管线式工作流。 DVC 可以从所有这些步骤上创建出一个智能的工作流管线,输入这两个关键词:dvc repo就可以执行所有步骤。 那么这条管线有什么智能的地方呢? 训练脚本添加MLFlow,用DVC跟踪模型版本,那么你将获得完美组合(Git, DVC, MLFlow)。

    1.1K50编辑于 2023-02-27
  • 来自专栏机器之心

    当Git和Git-LFS无法解决机器学习复现问题时,是时候祭出DVC

    DVC 管理的数据可以很容易地与其他使用此存储系统的用户共享。 ? 图源:http://dvc.org/ DVC 使用与 Git 类似的命令结构。 DVC 可以精准记录时间点和使用的文件 DVC 的核心是为存储和版本控制大文件而优化的数据存储(DVC 缓存)。团队可以选择将哪些文件存储在 SCM(如 Git)中,哪些存储在 DVC 中。 图源:http://dvc.org/ 在 DVC 端,这在 DVC 缓存中处理。存储在缓存中的文件通过内容校验和(MD5 哈希值)进行索引。 为了提高效率,DVC 使用多种链接方法(取决于文件系统支持)将文件插入工作区而无需复制。这样,DVC 可以在请求时快速更新工作目录。 DVC 使用所谓的「DVC 文件」来描述数据文件和工作流步骤。 通过 dvc add 和 dvc run,可以将多个阶段串联起来,每个阶段都使用 dvc run 命令创建,且由 DVC 文件描述。

    2.5K30发布于 2019-06-20
  • 来自专栏开源部署

    在Docker容器之间拷贝数据:原理与操作示例

    操作示例 在这个例子中,我们假设基于镜像mymod/dvc:v1创建并运行了两个容器:dvc1与dvc2,以下是启动这两个镜像的命令: docker run –d –name dvc1 mymod/dvc :v1  docker run –d –name dvc2 mymod/dvc:v1 以下命令将创建并启动一个新的容器(也是基于mymod/dvc: v1镜像)但是挂载dvc1的数据卷,并使用cp  mymod/dvc: v1 cp –r /var/www/html/host/dvc1_files  新建的容器以读-写权限挂载宿主机的/var/temp目录为/host目录,然后挂载所有dvc1的数据卷 cp –a –T /host/dvc1_files /var/www/html  新建的容器将宿主机的/var/tmp目录以只读的形式映射到dvc2容器的/host目录中,同时加载dvc2容器的所有数据卷 ,然后将/host /dvc1_files(对应宿主机/var/tmp/dvc1_files)目录的结构拷贝到dvc2容器的/var/www/html目录下。

    1.5K20编辑于 2022-07-04
  • 来自专栏CDA数据分析师

    还在用Github管理机器学习项目?你早该了解这些更专业的新工具!

    DVC响应git checkout命令时,它能够根据DVC文件中的总和校验码快速地重排链接文件。 DVC支持远程缓存目录,用于共享文件和模型。 $ dvc remote add remote1 ssh://user@host.name/path/to/dir$ dvc push$ dvc pull DVC remote是一个存储池,可以进行数据共享 创建一个DVC remote非常简单。dvc push和dvc pull命令高度模拟了git push 和git pull命令。 dvc push用于将数据发送到远程DVC的缓存中,dvc pull用于从远程DVC缓存中拉取数据。 机器学习项目中的工作流描述 接下来,我们将讨论如何更好地描述机器学习项目的工作流。 DVC可以使用常规命令行工具,并且既不需要设置服务器也不需要编写驱动程序。DVC支持使用前面提到的,通过一组DVC文件将工作流定义为有向无环图(DAG)。

    1.6K00发布于 2019-07-11
  • 来自专栏OpenMMLab

    训练可视化工具哪款是你的菜?MMCV一行代码随你挑

    Dvclive 与 DVC 无缝集成,它生成的 logs 可以作为 dvc plots;另一方面,Dvclive 也可以独立于 DVC 工作,TSV 格式的 log 文件可以通过其他可视化工具转换为图表 在与 DVC 集成后,可以通过plots 功能将 log 可视化,用户可以选择折线图等多种绘图模板,也可以自定义模板。 作为可视化工具,Dvclive 的功能是有限的。 因此在大多数情况下,它与 DVC 集成使用,用于记录实验过程并自动生成 training summaries。 /train/loss.tsv - 效果图,另外也可以搭配 DVC Studio 使用 DVC Studio 网址: https://studio.iterative.ai/team/Iterative 如果你只需要记录基本的实验数据,但是对于大规模数据的版本管理有比较高的需求,那么推荐你使用 DVC

    2.5K30编辑于 2022-01-18
  • 来自专栏jiajia_deng

    利用 NvAPI 设置数字振动数值

    pNvDispHandle); // 获取数字振动当前值 typedef int(*NvAPI_GetDVCInfoEx_t)(int hNvDisplay, int outputId, NV_DISPLAY_DVC_INFO_EX pDVCInfo); // 设置数字振动值 typedef int(*NvAPI_SetDVCLevelEx_t)(int hNvDisplay, int outputId, NV_DISPLAY_DVC_INFO_EX * pDVCInfo); 其中设置和获取数字振动值需要一个结构体 NV_DISPLAY_DVC_INFO_EX,其声明如下: typedef struct { unsigned int version // 最低级别 int maxLevel; // 最高级别 int defaultLevel; // 默认级别 } NV_DISPLAY_DVC_INFO_EX = 0) { NV_DISPLAY_DVC_INFO_EX oldInfo = GetDvcInfoEx(nDisp); NV_DISPLAY_DVC_INFO_EX

    1.2K20发布于 2018-12-12
  • 来自专栏jiajia_deng

    利用 NvAPI 设置数字振动数值

    pNvDispHandle); // 获取数字振动当前值 typedef int(*NvAPI_GetDVCInfoEx_t)(int hNvDisplay, int outputId, NV_DISPLAY_DVC_INFO_EX pDVCInfo); // 设置数字振动值 typedef int(*NvAPI_SetDVCLevelEx_t)(int hNvDisplay, int outputId, NV_DISPLAY_DVC_INFO_EX * pDVCInfo); 其中设置和获取数字振动值需要一个结构体 NV_DISPLAY_DVC_INFO_EX,其声明如下: typedef struct { unsigned int version // 最低级别 int maxLevel; // 最高级别 int defaultLevel; // 默认级别 } NV_DISPLAY_DVC_INFO_EX = 0) { NV_DISPLAY_DVC_INFO_EX oldInfo = GetDvcInfoEx(nDisp); NV_DISPLAY_DVC_INFO_EX

    2.3K30发布于 2018-12-12
  • 来自专栏速入大数据

    数据也要“打标签”:为什么数据版本控制这么重要?

    方法二:用DVC(DataVersionControl)做专业级控制DVC的核心思想是:数据不进Git,数据“指纹”进Git。它像git管代码一样,让数据同样可追踪、可回滚。 BashAI代码解释dvcinit②跟踪数据集(不会把数据放进Git)展开代码语言:BashAI代码解释dvcadddataset/raw_data.csv这会生成两个东西:raw_data.csv.dvc (数据的元信息).dvc/cache(存储去重后的实际数据)③Git保存.dvc文件即可展开代码语言:BashAI代码解释gitaddraw_data.csv.dvc.gitignoregitcommit-m"Trackrawdataversion 三、数据版本控制最佳实践(让你少踩坑)最后给大家一些我踩过坑之后总结的经验:1.数据不需要“每天全量存储”,要存差异(diff)DVC、Iceberg本质上都做了同一件事:✔只记录变更✔不重复存储相同内容

    26800编辑于 2025-12-08
  • 来自专栏从头开始学习测试开发

    Oxen —— 专为 AI 数据集设计的 Git 式版本控制系统

    一句话总结: Oxen 不是另一个 DVC(Data Version Control),而是一个原生支持大规模 AI 数据集(图像、视频、文本)的版本控制与协作平台,它借鉴 Git 的工作流,让你能像管理代码一样 传统方案如 DVC(Data Version Control) 虽然将大文件指针存入 Git,但其本质仍是“文件级”管理,缺乏对 AI 数据结构(如 COCO、YOLO、Hugging Face Datasets DVC vs. 暂不推荐的场景: ❌ 纯文本日志或非结构化数据(此时 DVC 更通用); ❌ 超大规模数据湖(PB 级,需 Hadoop 生态)。 它不会取代 DVC 或 Weights & Biases,但它填补了一个关键空白:让数据集本身成为可协作、可审计、可复现的一等公民。

    15410编辑于 2026-01-22
  • 来自专栏YoungGy

    ML基石_7_VC

    dvc=mink−1 d_{vc} = \min k -1 好的HsetH_{set},一开始是说增长函数有漏出一线曙光,出现break point的点。 dvc>=d+1 只需要证明d+1个点的情况下可以shatter。 ? dvc<=d+1 只需证明d+2个点的情况下不可以shatter。 ?

    93950发布于 2018-01-02
  • 来自专栏自学笔记

    机器学习可行性与VC dimension

    1D perceptron , dvc = 2;2D perceptron , dvc = 3,我们假设,和维度有关,d维,那就是d+1。 要证明只要分两步: dvc >= d+1 dvc <= d+1 证明dvc >= d+1 在d维里面,我们只要找到某一类的d+1个输入可以被shatter就可以了。 因为找到一个符合的,其他就可以得到dvc >= d+1。 我们构造一个可逆的X矩阵: ? 这里写图片描述 Ω我们称为是模型的复杂度,其模型复杂度与样本数量N、假设空间H(dvc)、ϵ有关。下面是他们的图像: ? 这里写图片描述 该图可以得到如下结论: dvc越大,Ein越小,Ω越大(复杂)。 dvc越小,Ein越大,Ω越小(简单)。 随着dvc增大,Eout会先减小再增大。

    1.2K40发布于 2018-09-07
  • 来自专栏AI SPPECH

    模型保存、加载与版本管理:安全视角下的加密保存与防窃取实践

    2.2 亮点2:MLflow与DVC的安全集成实践 MLflow和DVC是当前主流的模型版本管理工具,本文将深入分析它们的安全特性,并展示如何通过插件扩展和配置优化,增强其安全性,实现模型的加密存储、权限控制和审计跟踪 的安全集成 DVC是一个开源的数据版本控制工具,也可用于模型版本管理。 以下是DVC的安全集成实践: 配置加密存储:使用DVC的加密扩展,实现模型文件的加密存储。 集成Git LFS:使用Git LFS存储大型模型文件,结合Git的访问控制机制。 配置远程存储权限:限制对DVC远程存储的访问权限,实现细粒度的访问控制。 启用审计日志:记录所有DVC操作,包括模型的上传、下载和版本更新。 DVC官方文档 - DVC的官方文档,介绍了DVC的数据和模型版本控制功能。 Cryptography库文档 - Python Cryptography库的官方文档,提供了各种加密算法的实现。

    12310编辑于 2026-01-16
  • 来自专栏ThoughtWorks

    机器学习下的持续交付

    (图5:针对我们的销售预测问题的机器学习pipeline,以及使用DVC实现自动化的3个步骤) 为了在代码中标准化模型训练过程,我们使用了一个名为DVC(数据科学版本控制)的开源工具。 运行命令来配置图5中ML pipeline的初始化(-d指定依赖项,-o指定输出,-f是记录该步骤的文件名,-M是结果指标): dvc run -f input.dvc \ ➊ -d src/download_data.py 我们可以通过使用DVCdvc push和dvc pull命令从外部存储器发布和获取它。 如果这个模型很好,我们进行dvc push的命令来把它作为一个组件公布。 这种方法的一个改进是允许DVC跟踪我们的文件内容,其改进是在机器学习pipeline的第一步替换我们手写的下载脚本,如图9所示: dvc add data/raw/store47-2016.csv ➊

    71040发布于 2020-03-13
  • 来自专栏技术汇总专栏

    CI/CD与模型监控平台集成MLOps系统实现的全面路径

    解决方案: 模型和代码版本管理:通过Git进行代码版本控制,同时使用DVC(Data Version Control)管理数据集和训练结果。 DVC能够为每次模型训练生成唯一的哈希值,使得每次训练都具有可追溯性。 环境管理:通过Docker容器化环境,确保训练和推理环境的一致性。 代码示例(使用DVC管理数据): # 初始化DVC仓库 dvc init # 跟踪数据集文件 dvc add data/dataset.csv # 提交数据文件 git add data/dataset.csv.dvc 解决方案: 分布式数据存储:采用分布式存储系统(如HDFS、S3)来存储大规模数据,并结合DVC来管理数据版本。

    47300编辑于 2025-07-28
  • 来自专栏自学笔记

    机器学习可行性与VC dimension

    1D perceptron , dvc = 2;2D perceptron , dvc = 3,我们假设,和维度有关,d维,那就是d+1。 要证明只要分两步: dvc >= d+1 dvc <= d+1 证明dvc >= d+1 在d维里面,我们只要找到某一类的d+1个输入可以被shatter就可以了。 因为找到一个符合的,其他就可以得到dvc >= d+1。 我们构造一个可逆的X矩阵: ? 这里写图片描述 Ω我们称为是模型的复杂度,其模型复杂度与样本数量N、假设空间H(dvc)、ϵ有关。下面是他们的图像: ? 这里写图片描述 该图可以得到如下结论: dvc越大,Ein越小,Ω越大(复杂)。 dvc越小,Ein越大,Ω越小(简单)。 随着dvc增大,Eout会先减小再增大。

    53830发布于 2019-01-23
  • 来自专栏我爱计算机视觉

    CVPR 2020|超越H.265,中科大使用多帧数据改进视频压缩新方法

    该算法是在DVC基础上发明的,下图展示了该文的压缩模式,蓝色高亮部分为该文提出的新模块。 ? 在三个数据集上与H.264 , H.265 , DVC 方法的压缩结果比较,可见在PSNR和MS-SSIM上均实现明显的效果提升。 ?

    1.3K20发布于 2020-04-24
领券