안경잡이개발자

728x90
반응형

  구글 코랩(Google Colab)무료 GPU를 지원하는 구글의 개발환경 서비스다. 개인적으로는 딥러닝 테스트 코드를 돌려보거나 MNIST나 CIFAR-10과 같이 간단한 데이터셋을 학습할 때 효과적으로 사용할 수 있다고 생각한다. (물론 ImageNet과 같은 large-scale 데이터셋을 활용할 정도로 자원이 충분하지는 않다.) 구글 코랩에서는 깃허브(GitHub)와 쉽게 연동할 수 있는데, 깃허브에 저장된 노트북(notebook) 파일을 곧장 불러올 수 있다.

 

  1. 깃허브에 저장된 노트북 파일 불러오기

 

  깃허브에 저장된 노트북 파일을 불러오는 것은 간단하다. [노트 열기]를 누른 뒤에 [GitHub] 탭으로 이동한 뒤에 사용자를 입력한다. 이때 [비공개 저장소 포함] 버튼을 클릭하면 비공개(private) 저장소에 저장된 노트북 파일을 불러와 사용할 수 있다.

 

 

  개인적으로 간단한 소스코드는 노트북을 이용하는 경우가 많아서, 이것은 굉장히 유용하다. 구글 코랩 노트북 파일을 내보내기 할 때에도 비공개(private) 저장소로 한 번에 내보낼 수 있다. 또 다른 방법으로는 .ipynb 파일을 저장한 뒤에 GitHub에 업로드하는 방식을 사용할 수도 있다. 아무튼 Google Colab을 이용하면 GitHub과 하나의 .ipynb 파일을 이용해 연동을 수행하기에는 매우 편리하다고 생각한다.

 

  2. git clone 명령을 이용하여 Google Colab 내부로 소스코드 불러오기

 

  단순히 하나의 주피터 노트북(notebook) 파일만 이용한다면 앞서 언급한 방법을 사용할 수 있다. 하지만 특정한 저장소(repository)에 포함된 모든 소스코드를 Google Colab으로 불러와 사용하고 싶다면, git clone 명령어를 사용하는 것이 효과적이다. 이때 public repository라면 단순히 git clone 명령어를 사용할 수 있다. 하지만 private repository라면 SSH 키를 생성하고 깃허브(GitHub) 사이트에 등록할 필요가 있다.

 

  ▶ SSH를 이용해 깃허브(GitHub) 계정에 접근하는 방법: ndb796.tistory.com/561

 

SSH Key를 이용해 GitHub 계정의 저장소(repository) 코드에 접근하기

기본적으로 외부에 공개되면 안 되는 중요한 코드는 깃허브(GitHub)의 private repository에 저장하는 것이 일반적이다. 당연히 오픈소스 형태로 외부에 공개된 public repository라면 git clone 명령어를 이

ndb796.tistory.com

 

  위 포스트에 적힌 방법에 따라서 SSH 개인키와 공개키를 생성하여, 공개키를 깃허브(GitHub)에 등록하도록 하자. SSH 키가 등록된 이후에는 Google Colab 상에서 다음과 같은 코드를 실행하면 된다.

 

from google.colab import files

# 개인키 업로드
uploaded = files.upload()

# .ssh 폴더 생성 및 개인키 넣기
!mkdir -p ~/.ssh/
!mv id_rsa ~/.ssh/id_rsa
!chmod 400 ~/.ssh/id_rsa

# 알려진 호스트(known hosts)에 GitHub 호스트 주소 넣기
!ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
!ssh -T git@github.com

# private repository에서 소스코드 다운로드
!git clone git@github.com:ndb796/Watermarking-Deepfakes

 

  실제 Google Colab 상에서는 다음과 같이 실행할 수 있다. 매우 간단하게 깃허브(GitHub) 내부의 private repository에서 코드를 가져온 것을 확인할 수 있다.

 

728x90
반응형