반응형


Github Release 기능으로 고용량 파일  업로드 및 wget 파일 서버 대체

 

Github를 사용하다보면, 대용량 파일을 업로드 할 일이 많이 생긴다.

예를 들면, 머신러닝 프로젝트를 진행하던 중 pretrained weight를 올리고 싶을 때 등이 이에 해당한다.

 

단순히 LFS등을 사용하여 레포지토리에 직접 업로드를 진행해도 되겠지만,

pretrained weight등의 선택적 필요가 존재하는 자료를 저장소에 직접 커밋하고 푸시하는것은 매우 비효율적이다.

 

해당 오픈소스를 이용하고자 하는 사람들에게 너무 많은 저장 용량을 요구하게 되고, 

git clone 등의 작업에 굉장히 많은 시간을 소요하게 만들기 때문이다.

 

위와 같은 경우에는 Github의 Release 기능을 통해 Asset으로 업로드가 가능하다. Asset 방식으로 업로드 된 대용량 파일은 Git clone시에는 따라오지 않으며, 원하는 사람만 파일을 다운로드 받도록 할 수 있다.

 

또한 고유의 다운로드 링크가 형성되기 때문에 이러한 점을 활용하여 wget용 파일 호스팅 서버로 사용할 수도 있다.

추가 방법은 다음과 같다.

 

 

Github 레포지토리를 github 페이지 상에서 열면, Releases라는 부분이 보인다.

해당 부분을 클릭하면 다음과 같은 창이 뜨게 된다.

 

 

위 화면에서 Draft a new release 버튼을 클릭한 후, 

 

Tag Version엔 원하는 식별자를 사용하면 되는데, 필자의 경우에는 PyTorch Weight 파일을 올릴 것이므로, torchmodel이라는 이름으로 정하였다.

 

Attach binaries by dropping them here or selecting them. 부분의 화살표를 클릭한 후 원하는 대용량 파일을 업로드한 후, Publish release 버튼을 클릭하면 된다.

 

 

생성된 release안에는 업로드했던 대용량 파일이 Assets으로 저장되어 있으며, 

각 파일들의 다운로드 링크를 복사하여 wget과 함께 사용하면 어디서든 해당 Asset 파일을 다운로드 받을 수 있다.

반응형
블로그 이미지

Hyunsoo Luke HA

석사를 마치고 현재는 Upstage에서 전문연구요원으로 활동중인 AI 개발자의 삽질 일지입니다! 이해한 내용을 정리하는 용도로 만들었으니, 틀린 내용이 있으면 자유롭게 의견 남겨주세요!

,