본문 바로가기
Data science

구글 코랩(colab)에서 github 저장소 사용하기

by ggoboogi_house 2022. 2. 19.
반응형

구글 colab에서 github 저장소 이용하기

 

  요즘 공부하고 있는 "Deep Learning for Vision Systems[모하메드 엘겐디, 한빛미디어]" 책에서 실습 프로젝트로 데이터와 코드를 github 저장소를 통해 제공한다. 그래서 학습하면서 프로젝트를 수행하기 위해 저자의 github 저장소에서 데이터를 다운받고, 로컬 환경에서 가상환경을 만들고, requirements 파일에 있는 라이브러리들을 설치해서 환경설정을 하고, 실습 코드를 작성해보려니..... 생각만해도 귀찮았다.

그렇다고, 학습하기로 마음먹은 것을 멈추기는 아쉽고... github 저장소가 있고, 데이터와 코드도 거기에 다 있으니 구글 colab에서 그것을 바로 활용할 수 있다면 좋겠다는 생각이 들어 바로 검색해 보았다.

이미 많은 사람들은... 구글 colab을 알차게 이용하며 github와도 연동해서 사용하고 있었다 ㅎㅎ

구글 colab에서 특정 github 저장소(repository)를 복제(clone)하는 것은 매우 간단하였다. 구글 colab에서 새 노트를 열고 아래와 같이 코드 한 줄만 입력하면 된다.

// !git clone "github 저장소 주소"
!git clone "https://github.com/moelgendy/deep_learning_for_vision_systems"

 

복제하고자 하는 github 저장소의 주소는 아래와 같이 확인할 수 있다.

github 저장소 복제하기 위한 주소 확인

 

위의 그림에서 회색블록에서 볼 수 있는 것처럼 "Download ZIP"을 클릭하면 해당 저장소의 내용을 모두 다운받을 수 있다. 필요에 따라 로컬에서 작업하고 싶다면, 저렇게 이용하면 될 것 같다.

 

그런데 colab 노트에서 git clone을 하면, 복제한 내용을 가상머신에 임시적으로만 저장하고 있는 것 같다. 새 노트를 만들어 폴더를 확인해보면... '없다'. 

 

그래서 구글 colab에 구글 드라이브를 연동(mount) 시킨 후, github 저장소를 구글 드라이브에 복제해서 이것을 colab에서 불러다가 쓰는 것이 좋을 것 같다.

from google.colab import drive
drive.mount('/content/drive')

위와 같이 구글 드라이브를 연동 시킨 후,

//cd "/content/drive/My Drive/(새폴더)/"
cd "/content/drive/My Drive/git_repos/"

본인이 저장하고자 하는 폴더를 만들고 해당 위치로 이동하여,

!git clone https://github.com/moelgendy/deep_learning_for_vision_systems

그곳에서 github 저장소를 복제하면 된다.

복제 후 구글 드라이브에서 해당 폴더로 이동해보면 위와 같이 복제된 것을 확인할 수 있다.

 

만약 github에 있는 코드를 복사해서 사용할 때는 "경로" 설정을 잘 해주어야 한다. 보통 github의 코드들은 해당 코드와 사용하려는 파일(ex; 이미지)이 같은 폴더에 있거나 따로 경로가 설정되어있겠지만, 우리는 우리의 경로로 저장소를 복제해왔기 때문에 해당 경로를 입력해주어야한다.

예를 들어 나의 경우 테스트 하려는 코드에서 이미지를 불러오는데 기존 코드를 그대로 사용하면 경로 오류가 발생할 것이기 때문에 아래처럼 'path' 변수에 새 경로를 입력하여 추가해주었다.

// 기존 코드
image = load_image('dog.jpg', target_size=(224,224))

// 변경 코드
path = "내 주소"
image = load_image(path+'dog.jpg', target_size=(224,224))

 

아직 공부할 내용이 한가득 이긴 하지만... 그래도 이렇게 사용할 수 있는 덕에 많은 수고와 로컬 컴퓨터 자원을 아낄 수 있게 되어 좋다 ㅎㅎ

 

 

<Reference>

- https://github.com/moelgendy/deep_learning_for_vision_systems

- https://brunch.co.kr/@jayden-factory/16

- https://velog.io/@yookyungkho/Tip2.-colab%EC%97%90%EC%84%9C-github-%EC%86%8C%EC%8A%A4%EC%BD%94%EB%93%9C-%ED%81%B4%EB%A1%A0%ED%95%98%EA%B8%B0

- https://chancoding.tistory.com/103

 

반응형

'Data science' 카테고리의 다른 글

주피터 노트북 환경설정  (0) 2020.06.03
Python 패키지 수동 설치  (0) 2020.06.02