DVC
DVC 使用教程
🤲简述
DVC 是一款开源的针对机器学习的项目版本控制系统。可以跟踪模型和数据集。使得模型可共享和重现。
DVC 可以在任何 Git 存储库之上运行,并与任何标准的 Git 服务器或提供者(GitHub、GitLab 等)兼容。 数据文件内容可以通过网络访问存储或者 任何支持的云解决方案进行共享 。 DVC 提供了分布式版本控制系统的所有优点——无锁、本地分支和版本控制。
📕DVC解决哪些问题和主要功能
对机器学习的模型。数据集。和中间文件进行版本控制。通过代码来组装它们,并使用 Amazon S3、Microsoft Azure Blob Storage、Google Drive、Google Cloud Storage、Aliyun OSS、SSH/SFTP、HDFS、HTTP、网络连接存储(NAS)或磁盘来存储这些文件内容。
1.利用git实现对代码的管理
利用git的分支可以尝试不同的想法,避免在主代码中利用注释和后缀等污染 主版本。
2.实现模型 数据 代码的共享
DVC 使用push/pull 命令 将连续的 模型、数据、代码、 共享到 云主机或者同事电脑中
工作中面临的问题
Screenshot from 2022-09-30 09-45-01
DVC解决方案
Screenshot from 2022-09-30 09-50-35
DVC 方案步骤
1 .我们编写的一个元文件,描述要跟踪管理的哪些数据集和模型。
2 .把这些元数据放在git中 代替那些需要管理的大型文件。
现在你就可以利用DVC创建数据集的快照,用来管理数据集和代码。
👶安装
1.由于DVC依赖于git 所以请确保目标主机中已经安装好git.
pypi 网页下载 liunx deb 包 并按照下方命令进行安装。
sudo apt install ./dvc_0.62.1_amd64.debdvc
服用指南
git init
dvc init
dvc add data #data 即需要管理的数据集或者是权重文件
git add ***.dvc .gitignore #将上方纳入dvc 追踪生成的元文件 交给git追踪管理
git commit -m "**" #将 需要管理的大型文件生成的元文件进行版本控制 后期里利用dvc 进行拉取或者版本滚动。
git remote add
dvc remote add *** # dvc 远程源的地址
dvc remote add --default ssh-storage ssh://ryze@192.168.110.2:22/data/data4/datasets/
dvc remote modify --local ssh-storage password 0000
dvc push # 将本地的大型文件推送到 远程仓库
在版本之间切换:r
pushgit checkout HEAD~1
dvc checkout
📺DVC 与git的关系
dvc 严格来说不是版本控制系统,它依赖于git
git 管理着 模型数据集的元文件.dvc ,所以需要将 *.dvc 添加到git管理中。git add *.dvc。 git 只会追踪元数据文件。
dvc通过 *.dvc (其中存取了元数据,也就是文件的所存储的hash键值)来进行源文件位置的追踪和拉取。