구글 코랩(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
'[ Python ]' 카테고리의 다른 글
[Python] numpy.ndarray.T 사용 해보기. (0) | 2023.05.02 |
---|---|
[Python] Run-Length Encoding 사용하여 이미지 픽셀 라벨링 하기. (0) | 2023.02.12 |
[Python] 뉴스 릴리스를 스크레이핑(Scraping) 하는 방법. (0) | 2020.01.06 |