우선 Colab 에서 Kaggle을 하기 위해 Kaggle의 정보를 읽어오는 작업이 필요하다.
캐글에 로그인하면 우측 상단 오리(?)를 누르면 My Account
가 있다.
누르면
아래쪽에 API 창이 뜬다.
Create New API Token
을 누르면 json file이 다운된다.
그리고 colab을 켜자
from google.colab import auth # mount
auth.authenticate_user()
위와 같이 마운트 한다. 또는
https://velog.io/@s6820w/colab1 여기에 다른 방법이 나와있다.
from google.colab import files # upload json(JavaScript Object Notation) file
files.upload() #
위의 코드를 실행하면 아까 다운 받은 json 파일을 파일선택을 눌러 선택한다
주의사항 : 리눅스 명령어 뒤에는 주석을 붙이면 실행되지 않는다.
열기를 눌러 선택한다.
ls -1ha kaggle.json
json file이 잘 불러졌는지 확인한다.
!cp kaggle.json ~/.kaggle/
!kaggle competitions list
를 실행하면 아래처럼 kaggle competition list가 뜨고
참가한 competition에는 userHasEntered 에 True가 뜨게 된다.
!kaggle datasets download -d jessicali9530/stanford-dogs-dataset
와 같이 dataset을 받는다.
search
에 dataset을 검색한다.
Dataset을 선택한다.
우측하단에 를 선택한다.
Copy API command
선택
완료되었다.
kaggle datasets download -d jessicali9530/stanford-dogs-dataset
이렇게 dataset이 복사되는데 앞에 !를 붙여
!kaggle datasets download -d jessicali9530/stanford-dogs-dataset
와 같이 만든 후 실행한다.
이런 창이 뜨면 다운로드 완료
대신 이런 방법의 단점은 런타임마다 새로 받아야한다.
cd '/content/drive/My Drive/Kaggle/Data'#change directory
와 같이 한다면 My Drive(구글 내 드라이브)의 /Kaggle/Data 폴더 안으로 다운로드 경로가 설정된다.
그 후에
!kaggle datasets download -d jessicali9530/stanford-dogs-dataset
이 명령어를 설정하면 그 안에 풀린다
파일 형태가 .zip
의 형태일 경우 압축을 풀어야한다.
다운로드가 '/content/stanford-dogs-dataset.zip/'
에 된 것을 확인 할 수 있다.
를 누르면
경로복사를 해서 붙여넣기한다.
import zipfile # 방법 1 : 경로설정
zf = zipfile.ZipFile('/content/stanford-dogs-dataset.zip') # zip file path
zf.extractall('/content/unzip') # path for unzip
위의 방법은 /content
의 /unzip
파일에 압축을 푸는 방법, 즉 경로 설정 후 압축 푸는 방법이다.
!unzip 'stanford-dogs-dataset.zip' # 방법 2 : 경로설정x
이 방법은 경로 설정 없이 현재 폴더에서 그대로 푸는 방법이다.
각자 취향에 따라 선택한다.
이제 dataset
을 읽어올 준비가 끝났다.
정리
- Kaggle에서 API 받기
- mount
- json(API) file 선택
- load file 확인, 대회 리스트 확인
- 대회 검색 후 dataset을 받기 위해 copy API
- dataset 다운로드
- 압축파일일 경우 압축해제