본문 바로가기

AI

Local 원격저장소를 통해 DVC 사용하기

ticket에 들어가도 해결못했다는 이야기 뿐...

 

위와 같은 이유로... 구글 드라이브와의 연동은 결국 포기했다..

Colab <- Google Drive -> DVC를 상상했는데.... 흑

이전에 GCP에서 진행하였던것과 달리, 이번에는 대신 local환경을 원격저장소로 사용해 보았다!

 

먼저, dvc파일들을 github에서도 확인할 수 있으면 좋을 것 같아서 git의 원격 저장소를 github로 설정해 주었다.

방법은 

1. github repository 생성

2.  git remote add origin <repository http url>

3. git push -u origin main (github사이트가 켜지면 인증)

으로 비교적 간단하다.

 

이후 git remote -v를 통해 확인해 볼 수 있다.

 

이제 local 원격저장소로 사용할 디렉터리를 생성해 준 후,

dvc remote add -d <원격저장소 이름> <원격저장소 상대경로>를 통해 DVC의 원격저장소를 설정해 준다.

dvc remote list로 확인 가능하다.

 

dvc 사용 중 발생 에러

이러한 에러가 나왔다면, 다른 프로세스에서 dvc를 사용하고 있을 가능성이 높다. 

해당 pid를 찾아낸 후, 종료시켜 주자!

필자는 윈도우 파워쉘에서 진행 중이었기에,

tasklist | findstr dv

taskkill /F /PID <pid> 명령어를 사용했다.

 

이제 dvc init과 git init 이 되어있던 기존 경로로 돌아와, 새로운 데이터를 추가 후, 추적 관리하도록 설정해 보자!

경로에 새로 데이터를 추가하였다면, 이전 dvc글에서 설명했던걸 따라

dvc add <추가한 파일>

git add <추가한 파일> .gitignore
git commit -m "<commit message>"

git push
dvc push

 

 

dvc config core.autostage true와 같은 경우는 자동으로 스테이징 해주는 것을 막는 코드인데, 실행하지 말자...

이후 false로 다시 설정해 주었다.. ㅎ (data\data.txt는 연습 삼아 미리 추가해 보았던 더미파일이다.)

 

GitHub에도 정상적으로 올라간 모습을 볼 수 있다!

 

 

 

이후, 기본 경로에서 CU-BEMS폴더를 삭제한 후,

dvc pull CU-BEMS를 통해 다시 가져와 보았는데,

정상적으로 잘 가져와졌다!

 

 

 

local 저장소에서는

<원격저장소 경로> /files/md5/ 의 경로에 각각의 세부 데이터의 폴더가 생기고,
그 내부에 a6b68e788afaf55f4395a6b918092b과 같은 해시이름의 파일로 저장된다. 

 

 

 

torch.save(model.state_dict(), "gru_naver.h5")

추가로 해당 코드를 통해 이전에 진행하였던 네이버 주가 예측을 위해 학습시킨 GRU모델을 h5파일로 저장 후, 

 모델 버전관리를 위해 git과 dvc에 push 해주었다.

 


! git add . 사용 시 실제 데이터까지 올라갈 수 있기 때문에 사용 지양

어떤 파일을 git add 하고, 어떤 파일을 dvc add 할지 구분해야 함

dvc add 시 변경 파일 - <add한 파일>.dvc, .gitignore

(dvc.yaml, dvc.lock - 파이프라인에 변화가 있다면)

 

*각 파일의 역할

dvc.yaml : DVC 파이프라인의 구조를 정의. (단계, 입출력 데이터, 의존성 등을 포함)

dvc.lock : dvc.yaml에 정의된 파이프라인의 현재 상태를 기록 (정확한 상태를 잠금 해두어 재현성 보장)

 

dvc checkout을 통해 스토리지와 로컬 파일을 동기화할 수도 있다.

'AI' 카테고리의 다른 글

LSTM 예측 - BEMS 시계열 데이터  (0) 2024.08.27
Pytorch를 통한 주가 분석 (LSTM, GRU)  (0) 2024.08.20
Google Colab 단축키 모음  (0) 2024.08.14