贾浩楠 丽翔 凹非寺
搞机器学习的人,许多都倍受统计数据处理的煎熬。
或是是统计数据集阿尔布津,须要纯手工修改标示。
或是是同一统计数据集是许多被自己修正过的版,难上加难。
或是,索性没最合适统计数据集,须要他们创建。
欧美国家,一名名为Simon Lousky的合作开发人员老赵总算无法忍了,合作开发出了两套用作机器学习的统计数据处理工具辅助工具 (Data Version Control,DVC)。
全屏初始化统计数据集、一键查阅撰稿发展史……最重要的是,在DVC辅助工具另一面,有两个GitHub那样的统计数据代销街道社区。
“存量资产”统计数据集
Simon Lousky在小学生黄金时代做工程项目时,就早已感受到了机器学习统计数据集管理工作诸多不便的关键点。
彼时,他的模型须要两个真菌和花蕾的统计数据展开体能训练,而开放源码统计数据集不管怎样也无法获得科学合理的结论。
只好他他们花了两个半小时的天数,逐一修改了统计数据分散大批落伍、片面的标示,后体能训练结论让人信心十足。
除了这个工程项目,他后又展开过许多统计数据集的修改、增补、创建工作,他把这些费时费力的工序称为“统计数据集的调试试错”,并且开始有意记录操作发展史。
他逐渐发现,他们的工程项目中,统计数据处理总是一塌糊涂,而依靠GitHub代销的代码,却一直井井有条。
那为什么不做两个类似GitHub、专门服务统计数据处理的辅助工具呢?
DVC就这样诞生了。
这是两个预装的辅助工具库,实现功能包括对统计数据集的初始化、发展史操作信息的查阅等等功能。
它的出现,意味着之前,研究人员在本地“死”的统计数据集上体能训练数学模型的方式彻底改变。
你可以将工程项目链接到在线代销的统计数据集(或任何文件),创建实时、准确的联系。统计数据集的任何更新变动,都能及时获知,方便工程项目的开展。
比如,现在有两个Repository A,这是两个“活”统计数据集,其中元统计数据文件,指向存储在专用服务器的真实大文件。
用户可以将统计数据集文件组织到目录中,并添加带有utils函数的代码文件,以此来方便初始化。
此外,还有两个Repository B,这是对应机器学习工程项目,工程项目代码中,包含采用DVC导入统计数据集的指令。
只要创建两个统计数据注册表,就能创建A和B之间的联系:
mkdir my-dataset && cd my-datasetgit initdvc init
此时,统计数据集目录会是这样:
须要查阅统计数据集相关信息时,输入指令:
dvc add annotationsdvc add imagesgit add . && git commit -m “Starting to manage my dataset”
统计数据集的预览会保存到两个目录里,这个目录也会被DVC跟踪。
然后用户只须要把代码和统计数据推送到代销仓库,这样就随时随地访问它,并与其他人分享。
当然,DVC要发挥作用,自然少不了另一面的DAGsHub。
DAGsHub就是两个GitHub的统计数据处理版,由三部分组成,git仓库、DVC、和机器学习流程平台mlflow。
用户可以提交他们的工程项目,DAGsHub会自动扫描提交,并提取有用的信息,如实验参数,统计数据文件和数学模型的链接,并将它们结合到两个简单的界面。
DAGsHub可以浏览和比较代码、统计数据、数学模型和实验,而且不须要下载任何东西。
此外,还能生成可视化统计数据管道、统计数据操作发展史,并记录数学模型性能,自动且美观。
如何在机器学习工程项目中采用“活”统计数据集
要采用DAGsHub,只须要注册登录。
通过以下指令安装DVC:
pip3 install dvc
在DAGsHub上找到两个统计数据集,如何在他们的数学模型中采用它呢?
首先,要从代销的统计数据分散导入两个目录,并把它当作原始文件:
mkdir -p data/rawdvc import -o data/raw/images \https://dagshub.com/Simon/baby-yoda-segmentation-dataset \data/imagesdvc import -o data/raw/annotations \https://dagshub.com/Simon/baby-yoda-segmentation-dataset \data/annotations
接着,图片和注释就会下载到你他们的工程项目中,并保留其中发展史信息的信息。
当你想要知道统计数据集的变更发展史时,只需运行命令:
dvc update
就能将可视化结论返回默认目录保存:
是不是很方便?