본문 바로가기
Ai_ML_DL_RL/TensorFlow 2.0

03-Google Colaboraty와 구글 드라이브 연동하기

by 레드아이™ 2021. 1. 6.

지난 포스트에서 Anaconda 환경에서 Jupyter Notebook을 설치하는 방법에 대해서 알아보았다.

 

02-Anaconda 환경에서 Jupyter Notebook, TensorFlow 설치하기 [Mac]

 

하지만 이 방식의 불편한 점은 개발환경이 local에 종속 된다는 것이다. 다른 컴퓨터에서 작업을 하려면 그 컴퓨터에서도 패키지 등을 재 설치 해야만 같은 개발환경이 구축된다는 점이다.

 

이 귀찮은 문제의 해결 방법 중 Google에서 제공하는 Google Colaboratory에 대해서 알아보고자 한다.

Google Colab은 구글 내부에서 사용하던 Jupyter Notebook을 교육과 연구목적으로 커스터마이징해서 제공하는 오픈된 클라우드 기반 개발 환경이라고 보면 된다.

 

로컬에 개발환경을 구축하는 것이 아닌, 구글에서 모든 개발환경을 세팅해준 것을 그냥 웹으로 자알~ 사용하면 되는 것이다.

Google Drive+Jupyter Notebook 환경으로 쓸 수 있어서, 인터넷만 연결되면 어느 컴퓨터에서든, 어디에서든 같은 개발환경에서 작업을 진행할 수 있는 것이다.

 

그리고 무엇보다 좋은 것은, 구글의 GPU를 빌려서 머신러닝 등에 학습을 시킬 수 있는 환경을 제공한다.

이미 Python, PyTorch, TensorFlow, Keras, Pandas 등의 머신러닝을 위한 라이브러리가 설치되어 있어서 별다른 환경 세팅을 하지 않아도 딥러닝 등을 실행 시킬 수 있다는 장점도 있다.

 

단점아닌, 주의 사항으로 Colab은 구글 계정 전용의 가상 머신에서 동작하기 때문에 세션이 끊기거나 오랫동안 사용하지 않으면 리소스가 재할당되므로, 본인의 구글 드라이브랑 연동을 시켜놓는게 좋다고 한다.

 

아래의 링크에서 Google Colab에 대한 다양한 정보를 얻을 수 있다.

 

zzsza.github.io/data/2018/08/30/google-colab/

 

Google Colab 사용하기

Google의 Colab 사용법에 대해 정리한 글입니다 이 글은 계속 업데이트 될 예정입니다! 목차 UI 상단 설정 구글 드라이브와 Colab 연동 구글 드라이브와 로컬 연동 Tensorflow 2.0 설치하기 PyTorch 사용하기

zzsza.github.io


1. 구글 Colab에서 새로운 노트를 생성하고 아래의 명령어를 실행하면 Colab이 제공하는 기본 OS와 하드웨어 상태, Python 버전을 확인할 수 있다.

#2021년 1월 6일 현재 우분투 18.04.5 LTS 버전이고, 하드웨어는 인텔 제온 CPU 2.2GHz로 구성되어 있음을 확인할 수 있다. (세션별 다른 하드웨어가 할당되기도 한다.)

!cat /etc/issue.net
!cat /proc/cpuinfo
!python --version

 

2. 아래의 명령어로 GPU를 확인해보자

!nvidia-smi

#GPU 설정이 되어 있지 않아서 NVIDIA 드라이버와 통신을 할 수 없다고 나온다.

 

3. 노트의 설정에서 하드웨어 가속기를 GPU로 변경해준다.

하드웨어 가속기를 GPU로 설정한다.

 

4. 명령을 다시 실행하면 GPU에 대한 정보가 나온다. Tesla T4라고 나온다.

 

5. 구글 드라이브와 연동하기 위해서 드라이브를 마운트 한다.

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

 

아래 그림과 같이 링크를 하나 보여주고, authorization code를 입력하라고 나온다. 링크를 클릭해서 들어간다.

 

6. 연동시킬 계정을 선택한 후, 나오는 코드를 복사해서 넣어준다.

연동시킬 계정 선택
코드 복사
코드를 붙여넣기 하면 그림과 같이 마운트 된것을 확인할 수 있다.

 

 

#구글 드라이브에 마운트 하지 않으면, 내 구글 드라이브에 있는 다른 데이터 파일이나 csv 파일을 접근을 할 수 없다. 따라서 구글 드라이브에 있는 파일을 불러와 코드에 반영하기 위해서는 마운트 작업을 해주어야 한다.


혹은 아래와 같은 작업으로 마운트 작업을 진행할 수 있다.

1. 파일 메뉴에 들어가서

2. 드라이브 마운트 아이콘을 누르고,

3. 자동으로 입력되는 명령어를 실행한 후, 위의 예시처럼 연동시킬 계정을 선택하면 마운트 작업이 진행된다.

4. 내 계정의 구글 드라이브가 연결되어 있는 것을 확인 할 수 있다.

 

 

#이후 내 구글 드라이브에 있는 csv 등의 파일을 선택한 뒤 마우스 오른쪽 클릭하여 "경로복사"를 선택한 후, 다른 소스코드에 해당 경로를 붙여넣기 하면 된다.

 

마운트된 내 구글 드라이브의 기본 폴더 경로는 /content/drive/MyDrive/ 이다.

 

#Google Colab에서 작업을 시작하면 자동으로 드라이브에 마운트 되어 있는 상태로 진행이 된다는데, 좀 더 확인 해봐야겠다.

 


구글에서 제공하는 하드웨어 자원을 사용할 수 있기 때문에 언제 어디서든 성능좋은 개발환경을 구축할 수 있다는 장점이 있다.

Jupyter Notebook을 직접 로컬에 설치해서 사용하든, Google Colab을 사용하든, 본인 스타일대로 선택하면 될거 같다.

 

#구글의 자원이 한정되어 있기 때문에 GPU나 TPU는 무한정 사용할 수는 없고, 90분 동안 아무런 interaction이 없거나, 총 12시간이 지나면 자동으로 세션이 종료된다. 따라서 이를 해결하기 위해, 다음의 포스트 처럼 자바스크립트 코드를 입력해서 해결한다.

 

Google Colaboratory에서 세션 종료를 방지하는 방법

 

Google Colaboratory에서 세션 종료를 방지하는 방법

 Goole Colaboratory는 90분 동안 아무런 interaction이 없거나, 12시간이 지나면 세션이 종료가 된다. 머신러닝 학습을 돌려놓고 90분 이상 아무런 웹 interaction을 주지 않으면, 바로 끊긴다는 건데, 이를

ikaros79.tistory.com

 

댓글