回答

收藏

我能用多少钱?DVC减少磁盘容量?

技术问答 技术问答 249 人阅读 | 0 人回复 | 2023-09-14

我想对?1m  个文档进行分类,并为相应模型的输入和输出提供一个版本控制系统。0 v  A% _# f& K0 c4 o
数据随时间变化:
0 L( G: W/ g$ e样本量随时间增加
9 S, }8 S% J. ~可能会出现新的功能8 D) Y. {" s: e  _
匿名程序可能会随着时间的推移而改变
因此,一切基本上都可能发生变化:观测值、特征和值。我们对使用感兴趣ml不使用10/100  
- x+ H% B/ I4 E6 Q  dGB磁盘卷可以重现,因为我们保存了所有输入数据的更新版本。目前,数据量约为700mb。. h9 @' s' D7 j4 u0 I9 a
我发现的最有前途的工具是:https :
7 ^% M5 M% N( \7 ?% [//github.com/iterative/dvc。目前,数据存储在数据库中并从那里加载R
0 S# I+ z, G3 k6 V/ Python中。& W, }  u+ X6 W$ `) {
问题:3 V! N  t4 B. C7 _  @2 m
使用dvc磁盘空间(很大)能节省多少?
, f  b5 D- |0 P5 P" r如果你能粗略估计这一点。我试图找出是否只保存数据的差异。通过阅读以下内容,我没有发现太多信息:https : //github.com/iterative/dvc#how-dvc-
; E. G* _& F( A; m6 ^works或其它文档。
/ ?( H5 u. a5 ]: G) k& A) a$ z我知道这是一个非常模糊的问题。它将高度依赖于数据集。然而,我仍然对得到一个非常相似的想法感兴趣。6 C% p; Z8 E" A1 H" ^' p
                                                                  P) [4 S+ r+ u0 M1 G+ ^6 v2 S
    解决方案:                                                                + y  ^3 _( f4 j- K1 G1 v
                                                                让我试着总结一下DVC如何存储数据,希望您能在特定情况下获得节省/消耗多少空间的信息。
; k8 B: C% T" M7 N% `5 j  D( A9 |DVC在单个 文件级别    存储和删除重复数据。所以,从实际的角度来看,这通常意味着什么。
4 X- x1 U9 J4 Q+ E% q1 H! v3 z我将用dvc add例如,同样的逻辑也适用于保存数据文件或目录DVC缓存中的所有命令- dvc add,dvc run等等。
0 Q. u" ?9 u# A/ |  Q5 R5 w: K$ j8 ~8 `方案1:修改文件假设我有一个1GB的XML文件。我开始使用它DVC进行跟踪:# D2 y" Q9 m# u4 O9 m
$ dvc add data.xml在现代文件系统(或hardlinks,symlinks看到这个命令,我们仍然消耗1GB(即使文件被移动DVC在缓存过程中,仍存在于工作区)后有详细介绍)。
9 O0 v5 L' [( V2 a. [  |, O现在,让我们对其进行一些更改并再次保存:
, r( g9 @2 V7 p  w! E$ echo "" >> data.xml$ dvc add data.xml在这种情况下,我们将消耗2GB。DVC同一文件的两个版本不会区分    也不会将文件分成大块或块,以了解只有一小部分数据已更改。
4 ^# W' N. w" @6 K确切地说,它计算md5.将每个文件保存在内容搜索键存储中。md文件本身的一个作为键(高速缓存中文件的路径),值是文件本身:
' [* S4 z4 {9 O- i' l! U(.env) [ivan@ivan ~/Projects/test]$ md5 data.xml0c12dce03223117e423606e92650192c(.env) [ivan@ivan ~/Projects/test]$ tree .dvc/cache.dvc/cache
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则