내맘대로 공부기록.

[ Python ]

코랩(colab) 에서 캐글(kaggle) 데이터셋 이용 하는 방법

fwanggus 2023. 4. 9. 10:32

구글 코랩(colob)에서 캐글(Kaggle) 데이터 셋을 사용하기 위한 방법을 정리한다.

개요는 다음의 내용으로 이해하면 큰 무리가 없을 것 같다.

 

개요⚙️

1. 캐글 API 설정 및 준비

- 캐글 계정

- API 토큰 생성(kaggle.json)

- 데이터 셋 다운로드 커맨드 찾기

 

2. 코랩에서 설정 및 데이터 다운로드

- 캐글 설치, 토큰 파일 복사

- 데이터 셋 다운로드 커맨드 실행

- 다운로드한 데이터 셋(zip 파일) 압출 풀기

- 데이터 셋 경로 이용해서, 데이터 이용하면 됨.


1. 캐글 API 설정 및 준비

- 캐글계정 생성 할 것

- API 토큰 생성(kaggle.json) :

 

1) 계정 프로필 >>  Account 클릭

 

2) Create New API Token 클릭하면, kaggle.json 파일이 생성되어 PC로 다운로드가 시작된다.

 

json 파일 안에는 다음 형태의 유저 토큰 정보가 저장되게 되고, 이 파일을 이용해 kaggle API를 실행시킬 수 있게 된다. 잘 보관해두고, 깃헙 같은데 공개는 하지 말자.

{"username": userxxxx, "key": keyxxx}

 

- 데이터 셋 다운로드 커맨드 찾기

'Severstal: Steel Defect Detection' Competition을 예로 들어본다.

 

1) 'Data' 탭을 선택한다.

 

2) 가장 아래 까지 스크롤을 내리면, API 실행을 위한 스크립트 코드가 있다. 복사해 두면 된다.

 

2. 코랩에서 설정 및 데이터 다운로드

- 캐글 설치, 토큰 파일 복사

 

1) 캐글 설치 : 코랩에서 다음을 진행했다.

!pip install kaggle

 

2) 토큰 파일 복사 : 프로젝트 가장 상위 디렉터리의 '.kaggle/' 디렉터리에 json 파일을 복사한다.

먼저, colab에 json 파일을 추가 하기 위해 아래 코드를 실행한다.

from google.colab import files
files.upload()

 

이 작업은 코랩의 root 에 파일이 저장된다.

프로젝트 폴더에 json 파일을 추가하고 권한을 할당한다.

#Make a directory named kaggle and copy the kaggle.json file there.
!mkdir -p ~/.kaggle
!cp kaggle.json ~/.kaggle/
# change the permission of the file
!chmod 600 ~/.kaggle/kaggle.json

 

- 데이터 셋 다운로드 커맨드 실행

!kaggle competitions download -c severstal-steel-defect-detection

 

커맨드 실행으로, 코랩 root 위치에 데이터셋의 zip 파일이 저장된다.

이걸 unzip 해서 프로젝트로 다시 cp, mv 커맨드로 세팅해야 되나 해서 당황했지만, 그럴 필요는 없었다.

다음 내용을 따라하면 해결된다.

 

- 다운 받은 데이터 셋(zip 파일) 압출 풀기

from zipfile import ZipFile
file_name = 'severstal-steel-defect-detection.zip'
with ZipFile(file_name, 'r') as zip:
  zip.extractall('/content/drive/MyDrive/CV_Projects/pytorch_steelDefect/datasets')
  print('Done')

 

unzip 하기 위한 경로를 현재 프로젝트 위치로 잡아주면, 되는 거였다.

 

- 남은 일은 데이터 셋 경로 이용해서, 데이터 이용하면 됨.

Sev Steel Defect Detection

Severstal: Steel Defect Detection

Severstal: Steel Defect Detectio

 

반응형