본문 바로가기
Study/MLops

[MLops] 220208 패스트캠퍼스 챌린지 16일차 - DVC 실습

by 후이 (hui) 2022. 2. 8.
728x90
반응형

Part3. 오픈소스를 통해 알아보는 MLOps의 구성요소

 

Data management ? 

 

- ml 프로젝트를 하면서 데이터를 업데이트 해야하는 경우가 생김 

- 특히 시계열 데이터의 경우에는 데이터가 실시간으로 바뀜 

- feature engeeniring을 통해서도 데이터의 버전이 계속 바뀜 

 

 

DVC (data version control) 

 

https://dvc.org/

 

Data Version Control · DVC

Open-source version control system for Data Science and Machine Learning projects. Git-like experience to organize your data, models, and experiments.

dvc.org

git과 연동하면서 데이터 버전을 관리

대부분의 스토리지와 호환가능 

깃과 유사한 인터페이스

이 과정을 자동화 해두어 쉽게 사용할 수 있음 

 

 

Tutorial

자세한 내용은 https://github.com/iterative/dvc#how-dvc-works 를 참조

아래 명령어로 dvc 를 설치하고, git repo 를 clone 후 repo 내 dvc 관련 설정파일을 초기화한다.

pip install dvc
git clone https://github.com/owner/repo
cd repo
dvc init

아래처럼 설정파일이 추가 된 것을 확인할 수 있다.

$ git status
Changes to be committed:
        new file:   .dvc/.gitignore
        new file:   .dvc/config
        ...
$ git commit -m "Initialize DVC"

아래 명령어로 remote storage 를 설정 후, git 에 추가한다.

dvc remote add -d storage s3://mybucket/dvcstore
git add .dvc/config
git commit -m "Configure remote storage"

 

데이터 저장

dvc add data/data.xml
git add data/data.xml.dvc data/.gitignore
git commit -m "Add raw data"
dvc push

dvc add 에서는 데이터 파일의 hash 를 계산하여 .dvc 메타파일에 저장을하고, 실제 remote storage 로의 전송은 dvc push 단계에서 수행된다.

 

데이터 가져오기

git clone
git pull
dvc pull

dvc pull 단계에서 git 의 메타파일을 기반으로 데이터를 remote storage 로부터 가져온다.

실제 dvc 를 이용해보면 dvc add 단계에서 data file 들을 gitignore 에 추가해주기 때문에 data file 이 github 에 저장되는 것을 방지해준다.

 

 


필수 링크: https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

10일차 학습 인증샷  : 

 

 

 

오늘은 데이터 관리 오픈소스 툴인 DVC에 대해 살펴봤다. 

한번도 사용해본적은 없는데, 이번 기회에 배워두면 프로젝트 진행할 때 정말 좋을듯하다. 

내일부터 직접 사용해보면서 제대로 익혀야겠다 ~ 

 

 

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
 
728x90
반응형

댓글