DVC通过生成.dvc文件来追踪数据集,可以把这个.dvc文件理解成“钥匙”,找到了“钥匙”也就可以打开“宝藏”(目标数据集),而过多的.dvc文件又容易造成混乱,因此引入git来管理.dvc文件,也就是说git并不是在管理“宝藏”,而是在管理“钥匙”,真正的“宝藏”放在了“remote”所指向的位置,也就是我们的“宝藏”仓库,这个仓库就是DVC所支持的各种存储方式,如本地存储、s3存储、ssh存储等。DVC工作逻辑图如下
DVC数据存储
Dvc安装及项目初始化
实验环境:
Ubuntu 22.04.1
anaconda虚拟环境
建议安装前创建一个新的虚拟环境,在python 3.7+上创建环境:
conda install git
pip install dvc(建议使用 pip --default-timeout=600 install dvc,600为超时时间,单位是秒,如果还是不成功建议加大时间)
使用ssh远程仓库存储需要再执行一步:pip install dvc[ssh],用以补充安装ssh所需要的工具包。
文件跟踪
准备工作:
git初始化:
git init
也可直接git clone一个自己的远程版本库,如:
git clone http://***.***.***.***/*********/test.git (-b 指定分支,不添加默认是main分支)
使用conda activate your_env_name激活环境
第一步:数据集准备,以检测数据集为例,初版数据集为纯图像
第二步,将数据放入git clone出的文件夹中
数据追踪
第一步,执行命令cd test切换至git目录下
这里我们可以执行ls -al命令查看当前目录下的所有内容
第二步,执行命令dvc init进行dvc初始化
这里我们可以执行ls -al命令查看当前目录下的所有内容
此时我们可以看到当前文件夹下生成了一些新的内容
第三步,执行dvc remote add --default myssh ssh://root@***.***.***.***:22/home/ssh-test命令设置远程仓库的位置(ssh远程仓库,类似于服务器)
此命令格式如下
dvc remote add --default your_storage_name ssh://your_user_name@your_ip:your_port/your_storage_location_in_ssh_server
第四步,执行dvc remote modify myssh user root命令设置用户名
此命令格式如下