티스토리 뷰

728x90
반응형

Colab에서 데이터를 다루다 보면 공유 받은 구글 드라이브 링크를 통해 데이터를 다운 받을 때가 있다.

로컬에 다운 받아 Colab에 추가할 수 있지만 코드 몇 줄로 손쉽게 다운 받는 방법이 있다.

여기서는 gdown과 gdrive dataset 방법을 소개하려고 한다.

 

google drive 압축파일 이미지

1. gdown

  • gdown은 Colab에 설치되어 있어 별도의 설치가 필요없다.
  • 파일을 저장할 폴더가 생성되어 있어야 한다.
  1. 구글 드라이브의 open.zip 파일 링크를 공유 받았다면 file_id를 추출한다.
    • https://drive.google.com/file/d/16YZxhGfwnvlSLDsfDcaM_Z7nTouqzRaW/view
    • 주어진 링크에서 file_id는 초록색 강조 부분인 16YZxhGfwnvlSLDsfDcaM_Z7nTouqzRaW 이다.
  2. file_id를 사용하여 파일을 다운받는 방법에는 두 가지가 있다.
    1. Command line 명령어 방법
      • file_id를 "https://drive.google.com/uc?id=" 주소 뒤에 추가한다.
        https://drive.google.com/uc?id=[file_id]
      • !gdown https://drive.google.com/uc?id=16YZxhGfwnvlSLDsfDcaM_Z7nTouqzRaW
        import os
        os.system("gdown https://drive.google.com/uc?id=16YZxhGfwnvlSLDsfDcaM_Z7nTouqzRaW")
    2. import gdown 방법
      • import gdown
        file_id = "16YZxhGfwnvlSLDsfDcaM_Z7nTouqzRaW"
        output = "data/dataset.zip" # 저장 위치 및 저장할 파일 이름
        gdown.download(id=file_id, output=output, quiet=False)
      • output 변수를 통해서 저장할 위치를 지정해줄 수 있다.
      • 이때, 저장 위치의 폴더는 미리 생성되어 있어야 한다.
    gdown 결과 이미지

  3. zip 파일이 다운로드 되었다면 unzip을 사용해 압축을 풀 수 있다.
# unzip 
os.system("unzip open.zip")
 

[Python] 압축 폴더 해제하는 방법 (zip 압축 풀기)

압축 폴더를 푸는 방법에는 unzip, shutil, zipfile 3가지 방법이 있다. 3가지 방법 모두 output 폴더가 없다면 자동으로 생성해 주며, Colab에서 별도 설치 없이 실행 가능하다. 1. unzip unzip은 Linux에서 사용

code-angie.tistory.com

 

2. gdrive dataset

  • gdrive dataset은 라이브러리를 별도로 설치해 주어야 한다.
  • load_from_google_drive 함수를 사용하면 default로 data 폴더를 생성하여 압축까지 풀어준다. 단, 압축 파일만 가능하다.
  1. pip 를 활용하여 gdrive_dataset 라이브러리를 설치한다.
    !pip install gdrive_dataset
  2. loader의 load_from_google_drive 함수에 file_id를 입력하여 파일을 다운받 압축을 풀어준다.
    from gdrivedataset import loader
    
    file_id = "1yqN-1xYQoMWZimJhxdopX6woT2KomeZh"
    folder = "./data"
    loader.load_from_google_drive(file_id, folder)

gdrive_dataset 결과 이미지

3. Colab에서의 속도 비교

  • gdown + unzip과 gdrive dataset의 속도를 비교하면,
  • gdown 은 평균 1.27 s, unzip 은 평균 3.14 ms 로 gdown + unzip은 대략 1.2 s 이고,
  • gdrive dataset 은 평균 42 ms 로 gdrive dataset의 속도가 빠르다.
  • 하지만 gdrive dataset의 라이브러리를 설치하는 속도가 7s 이상 소요됨으로 Colab에서는 gdown과 unzip을 사용하는 것이 빠를 것으로 보인다.

속도 비교 이미지

 

참고 자료

728x90
반응형
댓글