DVC는 Data Version Control로 문자 그대로 데이터의 버전 관리를 도와주는 툴이라고 할 수 있다.
DVC는 MLproject들의 소스 코드 or 버전 관리를 위해 사용되며 사용방식이 Git과 매우 유사했다.
다만, Git은 대용량 데이터를 업로드하여 보관할 수 없지만 DVC는 가능했다.
pip install dvc
wget https://github.com/iterative/dvc/releases/download/2.10.2/dvc_2.10.2_amd64.deb
# pip를 이용한 설치를 진행했을 떄 오류가 발생했을 경우
# wget을 사용하여 링크주소를 복사하여 직접 다운받아서 설치하면 정상 작동한다.
- 설치 완료 후 git init / dvc init 으로 저장소를 초기화해준다.
- 그 다음으로 dvc로 버전을 tracking할 txtf file을 생성해준다.
# demo.txt에는 Good afternoon yoon!
demo.txt /demo.txt.dvc 파일을 확인하고
git commit & push를 진행한다.
# push를 하기 전에 자신의 구글드라이브 계정과 연동해야한다.
# 구글 드라이브에 폴더를 생성하여 들어가서 해당 폴더의 주소를 입력해주면 된다.
dvc push했던 캐시 & 데이터를 삭제한 뒤,
dvc pull로 구글 드라이브에 업로드 한 데이터를 불러온 뒤
이전의 데이터와 불어온 데이터가 맞는지 확인해본다.
Good afternoon yoon!로 동일한 데이터가 불러와졌다.
기존의 Good afternoon yoon!의 내용인 demo.txt를
Good afternoon yoon!
-> Hello bro!
위의 내용으로 변경 후 add,commit push를 하므로써 Update를 진행한다.
git log --online
#log를 확인하고
git checkout 5504f5f data/demo.txt.dvc
#이전 버전으로 되돌린다.
dvc checkout
#demo.txt.dvc 파일을 확인하고 demo.txt 파일을 이전 버전으로 되돌린다.
cat demo.txt
---
Good afternoon yoon!
-> Hello bro!
Good afternoon yoon!
#위의 업데이트 버전에서 아래의 이전 버전으로 되돌아 간 것을 확인했다면 DVC의 간단한 update & load를 과정을 살펴볼 수 있다.