参考使用文档
https://zhuanlan.zhihu.com/p/475053858
https://blog.csdn.net/qq_38300692/article/details/125652294
安装
pip install dvc
pip install "dvc[ssh]"
dvc init
#1、首次创建数据(此时远程仓库中还没有相关数据集)(注意区别于#4 )
dvc add data/ #会生成一个.dvc文件
dvc remote add -d crnn_plate_recognition_remote ssh://zhangying@192.168.36.198/srv/dev-disk-by-uuid-d8f1b085-f201-4f7f-aec7-a1ce0e0c0a1c/share/deeplearning/zhangying/dvc/crnn_plate_recognition
dvc remote modify crnn_plate_recognition_remote password opendrive
mkdir xxx/ # 在使用dvc push命令之前,需要确保远程存储仓库的目录结构已经存在。DVC本身不会自动创建远程存储仓库的文件夹
git add .dvc/config #注意 add是先dvc add,后git add
git add data.dvc
git commit -m "Configure local remote storage"
dvc push # 将本地数据集push到远程存储库
git push origin branch_name
#2、修改数据集后
dvc add data/
dvc push
git add * # 主要为了add .dvc文件
git commit -m 'dataset update:delete opendrive.txt 、opendrive/ ' # 数据集版本的详细信息通过commit记录(能否记录在 .dvc/config里?
#3、切换数据集版本
git log
git checkout <commit_id>
dvc checkout
#4、首次拉取代码+拉取数据 (此时远程仓库已经又对应数据集了,并且项目目录下有.dvc文件)
git pull ...
dvc pull #从配置的默认远程存储库下载缺失的数据文件
5、#修改了远程存储库中的数据
dvc pull
dvc不是版本控制,而是只控制.dvc文件。.dvc的内容定义了使用的数据版本,项目根据.dvc去寻找数据集
查询已配置的远程存储库信息
dvc remote list
报错:
1、 File "/home/zy/anaconda3/lib/python3.8/site-packages/OpenSSL/crypto.py", line 1537, in X509StoreFlags
CB_ISSUER_CHECK = _lib.X509_V_FLAG_CB_ISSUER_CHECK
AttributeError: module 'lib' has no attribute 'X509_V_FLAG_CB_ISSUER_CHECK'
方法:
sudo rm -rf /home/zy/anaconda3/lib/python3.8/site-packages/OpenSSL/
pip install pyOpenSSL --upgrade
2、'./data.dvc' validation failed.
extra keys not allowed, in outs -> 0 -> hash, line 2, column 3
方法:如果项目下的.dvc文件生成时使用的dvc版本为3.x,则后续其他人拉取数据都需要用3.x版本,若用2.x版本会报此错误。
3、Preparing metadata (pyproject.toml) ... error
error: subprocess-exited-with-error
方法:
pip install pip==21.3.1