[DVC] Data Version Control

yoonseok choi·2022년 8월 25일
0

AWS

목록 보기
9/11
post-thumbnail
post-custom-banner

DVC

DVC는 Data Version Control로 문자 그대로 데이터의 버전 관리를 도와주는 툴이라고 할 수 있다.

DVC는 MLproject들의 소스 코드 or 버전 관리를 위해 사용되며 사용방식이 Git과 매우 유사했다.
다만, Git은 대용량 데이터를 업로드하여 보관할 수 없지만 DVC는 가능했다.


설치 및 실습

설치 후 tracking data 생성

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!

Data add,commit,push

demo.txt /demo.txt.dvc 파일을 확인하고
git commit & push를 진행한다.
# push를 하기 전에 자신의 구글드라이브 계정과 연동해야한다.
# 구글 드라이브에 폴더를 생성하여 들어가서 해당 폴더의 주소를 입력해주면 된다.

Check uploaded data & pull

dvc push했던 캐시 & 데이터를 삭제한 뒤,
dvc pull로 구글 드라이브에 업로드 한 데이터를 불러온 뒤
이전의 데이터와 불어온 데이터가 맞는지 확인해본다.
Good afternoon yoon!로 동일한 데이터가 불러와졌다.

Dvc version update & load

기존의 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를 과정을 살펴볼 수 있다.

profile
Concilio et Labore ( 지혜와 노력으로 )
post-custom-banner

0개의 댓글