[Google Colab] 구글 드라이브 연동, 코랩에서 (IMDB) 데이터 다운로드 및 압축해제


학기 시작한 지 한달이 넘으니까 우선순위에 밀려서 블로그 포스팅을 못하고 있네요ㅜ_ㅜ 요즘 듣고 있는 딥러닝 수업에서 과제를 매주 하고 있는데, 과제하는 데 걸리는 시간의 80%가 삽질인 것 같아요ㅋㅋㅋ큐ㅠ 원래 머신러닝의 해석 시리즈를 우선적으로 포스팅하려고 했지만, 삽질하면서 알게 된 사실부터 그때그때 기록하는 게 좋을 것 같아서 이렇게 “삽질 기록” 첫 포스트를 하게 되었습니다.

저는 요즘 딥러닝의 기초를 처음으로 배우고 있고, 그에 따라 처음으로 심각하게 장비적 한계를 느끼게 되었습니다,,,,, GPU가 없는 저의 노트북은 큰 데이터나 딥러닝과 관련된 활동들을 견디지 못하기 때문에, 실습 및 과제를 하기 위해서는 구글 코랩(Google Colab) 을 이용해야 했습니다. 그런데 이전에 가상 환경 같은 것을 이용해본 적이 없어서 그런지 처음에는 너무 불편했습니다! 구글 코랩에서는 로컬 디렉토리를 설정해서 하는 것들은 할 수가 없었기 때문에 데이터 업로드하는 게 일이었습니다. 물론 로컬 디렉토리에서도 파일을 바로 업로드할 수 있는 방법이 있긴 하지만, 이 방법은 다음에 또 파일을 이용하려면 한참을 업로드해야 하더라구요. 그래서 더 찾아보니까 구글 드라이브를 아예 연동해 놓는 방법이 더 편한 것 같습니다!

먼저 구글 코랩과 구글 드라이브를 연동하는 방법은 다음과 같습니다! (모든 과정에 대한 코드는 글 맨 아래쪽 있습니다.)

구글 드라이브 연동시키기

아래와 같이 코드를 치면 알아서 어떤 사이트 url이 나오고 그 사이트로 들어가서 그곳에서 알려주는 key를 복사해서 붙여넣으면 됩니다! 한마디로 본인 인증하는 단계라고 생각하시면 됩니다. 저는 이미 인증을 해놔서 저렇게 ‘already mounted’라고 떴는데, ‘mounted’ 어쩌구라고 뜨면 성공적으로 연동된거에요! 이 과정은 매우 간단합니다.

구글 드라이브 기본 경로가 ‘/content/gdrive/My Drive’이고, 저는 ‘data’라는 폴더를 하나 생성해서, 그곳으로 이동시켜 놓았습니다.


코랩에서 데이터 직접 다운로드 및 압축해제

자, 이제 구글 드라이브를 이용해서 코랩 사용할 준비를 모두 끝냈습니다. 데이터를 구글 드라이브에다가 올려놓고 그 구글 드라이브 경로를 이용해서 파일을 업로드하면 되는 것인데요. 저는 처음에 IMDB 영화 리뷰 텍스트 데이터 를 직접 로컬에 다운받고, 다시 구글 드라이브에 올리는 과정에서 4시간이 넘게 소요된다길래 바로 접었습니다,,,, 매번 이렇게 할 순 없잖아요ㅠㅠㅋㅋㅋㅋ 그러다가 구글 코랩에서 바로 데이터를 구글 드라이브에 저장하고 압축해제까지 해버릴 수 있다는 것을 알았습니다! 로컬에 저장하고 다시 올리는 과정이 필요없기 때문에 훨씬 간편하고 시간 절약 되더라구요.

IMDB 데이터는 ‘http://s3.amazonaws.com/text-datasets/aclImdb.zip’ 이 주소에서 바로 다운받을 수 있는데요. 구글 코랩에서 다음과 같이 돌리면, 제가 아까 이동해놨던 바로 그 구글 드라이브 data 폴더에 저장됩니다.

다음과 같이 폴더 안의 리스트를 확인해보니, 데이터 파일이 잘 저장된 것을 확인할 수 있습니다. 구글 드라이브에 로컬에서 직접 업로드할 때는 4시간 넘게 걸렸는데 이렇게 하니까 진짜 금방 저장됐어요!

이제 이 데이터 파일이 압축파일이기 때문에 압축해제를 해야겠죠? 다음과 같이 압축도 해제하면 되고, 압축 해제를 하는 과정에서는 시간이 좀 걸렸던 것 같습니다. 압축해제된 accllmdb 폴더로 가서 안에 있는 것을 확인해보니 test, train 폴더를 확인할 수 있네요. 압축 해제도 성공적으로 되었습니다!


이렇게 해 놓고, 경로만 구글 드라이브 경로로 바꾸면, 로컬에서 이용하듯이, 경로를 이용한 데이터 처리 과정을 손쉽게 할 수 있습니다! 😊


코드

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

cd /content/gdrive/My drive/data

!wget http://s3.amazonaws.com/text-datasets/aclImdb.zip
!ls '/content/gdrive/My drive/data'

!unzip -qq '/content/gdrive/My drive/data/acllmdb.unzip'
!ls '/content/gdrive/My drive/data/acllmdb'