对于软件工程团队而言,Git之类的工具以及GitHub,GitLab和BitBucket之类的远程Git客户端使协作变得轻松而简单。
他们让不同位置的不同开发人员一起工作,并无缝地为同一项目做出贡献。这种在项目上轻松协作的能力促进了大规模开放源代码软件/库生态系统的开发。
不幸的是,数据科学团队不能轻易说出同样的话。即使最熟练的数据科学团队仍然缺乏组织项目和有效协作的最佳实践。
数据科学领域是软件工程和研究的结合,即代码+数据集,训练有素的模型和标签编码。就像控制版本历史并使用几个git命令远程协作代码一样,数据科学家应该能够轻松浏览,预览,共享,派生以及合并数据和模型。
必须有两件事情可以帮助远程协作:版本控制和远程中央存储。
正如Git允许软件工程师在不同版本的代码之间安全地来回切换一样,数据科学家不仅需要控制其代码的不同版本,而且还需要控制其数据的不同版本。
他们还应该能够跟踪为特定版本实现特定状态所进行的操作,并在需要时能够重现相同的状态。
那么,可能的解决方案是什么?
选项1:在数据科学项目中使用Git进行版本控制
您可能已经在问–我们不能只使用Git吗?问题是Git的文件大小限制为MB。对于严重的数据科学项目而言,这有时还远远不够,这些项目有时会拥有数兆字节的数据文件。
一种解决方案是靠GitLFS(大文件存储)来完成。
GitLFS是一个git扩展,用于处理Git中的文件大小限制。它通过创建一个指针文件来实现此目的,在该文件中存储了对大数据文件的引用。这些大文件将存储在其他地方-本地GitLFS缓存或GitHub或Gitlab等远程服务器中。
但是,这还不够好。GitLFS仍然限制文件大小(大约2GB),而不是成熟的数据科学解决方案。它没有提供有关大文件版本已更改内容的有用信息(仅指针文件中基于文本的更改)。您也将无法访问可视化或图形之前和之后。
GitLFS还不支持开箱即用,因此要检查文件的后续版本之间的差异是非常具有挑战性的。
选项2:在数据科学项目中使用DVC进行版本控制
更好的选择是使用DVC。DVC代表数据版本控制,本质上与Git相似,但它是专门为数据而设计的。
DVC的语法类似于Git!因此,如果您已经了解Git,学习DVC就不会困难了。
超实用性的Python零基础入门到进阶视频源码淘宝¥2购买已下架使用DVC,您可以:
以与捕获代码相同的方式跟踪和保存数据和机器学习模型
轻松创建数据版本和ML模型并在它们之间进行切换
首先了解数据集和ML工件是如何构建的
比较实验之间的模型指标
在数据科学项目中采用工程工具和最佳实践
但是,DVC仍然仅在本地辅助版本控制。要将其设置为远程协作,您需要将其连接到远程存储。问题在于设置此云存储太麻烦了。
以AmazonS3为例。安装AWSCLI工具,创建IAM用户,分配正确的权限(大多数人通常在第一次尝试时都无法获得正确的权限),等等。
那太复杂了,事情应该像创建帐户和Git推送一样简单。访问控制也应自动处理。
这就是DagsHubStorage存在的意义。
选项3:使用DVC+DAGsHub存储进行版本控制和远程协作
DAGsHubStorage是需要零配置的替代DVC远程(免费使用)。它是DAGsHub制造商的新工具,DAGsHub是用于数据科学家和机器学习工程师的数据版本控制和协作的Web平台(DAGsHub是DVC,Github是Git)。
借助DAGsHub存储,您无需承担任何设置的压力。它的工作方式与添加Git相同。
在DagsHub上创建存储库时,它会自动为您提供DVC远程URL。使用此URL,您可以使用现有的DAGsHub凭据(通过HTTPS基本身份验证)快速推送和提取数据。
这也意味着与非DVC用户的共享工作要容易得多,因为不需要在他们的终端进行云设置。那不是更好吗?
连接DAGsHub
存储作为远程存储,您需要在DAGsHub上创建一个帐户并创建一个项目。您可以通过从头开始创建一个或连接到另一个平台(例如Github或Bitbucket)上的现有项目,然后为本地数据版本控制设置DVC来实现。
在DAGsHub上创建一个新的存储库。
在DAGsHub上创建存储库时,将获得两个远程控制器:Git和DVC。
要开始使用DAGsHub存储,在终端中打开您的项目,然后添加DVC远程:
dvc远程添加-dvc远程链接-
下一步是为本地计算机设置DAGsHub,就像GitHub那样:
dvc远程修改源-本地身份验证基本
dvc远程修改原点-本地用户Linda-Ikechukwu
dvc远程修改原点--localask_passwordtrue
现在,您可以使用dvcpush-rorigin或dvcpull-rorigin无缝地推送或提取数据集和模型。
如果要切换到不同版本的数据,就像执行gitcheckout一样,只需执行以下操作:
gitcheckout..branchor
转载请注明:http://www.0431gb208.com/sjszlff/8260.html