개요
캐글에서 데이터를 받기 위해서는 API 키를 사용 해야 합니다.
Colab 의 Secrets 탭에 캐글 username 과 key를 저장해 놓으면 노트북에서 간편하게 데이터를 가져 올 수 있습니다.
1. 우선 캐글에 접속후 계정에서 Settings 로 들어 갑니다.
2. API 에서 Create New Token 을 클릭 후 진행 하면 kaggle.json 파일을 다운 받을 수 있습니다.
3. 코랩에서 아래 Secrets 으로 들어갑니다.
4. 새 보안 비밀 추가를 해서 아래 와 같이 입력 후 값에 다운 받은 kaggle.json의 usernae 과 key 의 값을 입력 합니다. 노트북 액세스를 활성화 합니다.
5. 아래와 같이 코랩 cell 에서 저장 된 캐글 username 과 key 를 불러와 kaggle.jon 을 생성 할 수 있습니다.
from google.colab import userdata
key = userdata.get('KAGGLE_KEY')
username = userdata.get('KAGGLE_USERNAME')
with open('kaggle.json', 'w') as f:
f.write(f'{{"username":"{username}","key":"{key}"}}')
6. 또는 다운 받은 'kaggle.json' 파일을 직접 코랩에 업로드할 수 있습니다.
# kaggle.json 파일을 업로드하세요.
from google.colab import files
files.upload()
7. 'kaggle.json' 파일이 생성되었다면 적절한 위치로 이동시키고 파일 권한을 변경한 다음 캐글에서 데이터를 다운로드 합니다. 코랩 cell 에서 아래 와 같이 입력 합니다.
!mkdir ~/.kaggle
!cp kaggle.json ~/.kaggle/
!chmod 600 ~/.kaggle/kaggle.json
!kaggle competitions download -c dogs-vs-cats-redux-kernels-edition
8. 아래 와 같이 403 - Forbidden 에러 발생 시 해당 데이터셋에 연관된 규칙에 동의 해야 합니다.
9. 아래 데이터 셋을 예로 들어 Rules 로 들어가 약관 동의를 진행 합니다.
https://www.kaggle.com/competitions/dogs-vs-cats-redux-kernels-edition/rules
10. 아래 와 같이 다시 데이터를 다운로드 합니다.
!kaggle competitions download -c dogs-vs-cats-redux-kernels-edition
11. 다운로드 받은 zip 파일 압축을 해제 합니다.
!unzip -qq dogs-vs-cats-redux-kernels-edition.zip
!unzip -qq train.zip
12. 이제 데이터를 이용해 모델을 학습할 수 있습니다.
# image_dataset_from_directory를 사용하여 이미지 읽기
from tensorflow.keras.utils import image_dataset_from_directory
train_dataset = image_dataset_from_directory(
new_base_dir / "train",
image_size=(180, 180),
batch_size=32)
validation_dataset = image_dataset_from_directory(
new_base_dir / "validation",
image_size=(180, 180),
batch_size=32)
test_dataset = image_dataset_from_directory(
new_base_dir / "test",
image_size=(180, 180),
batch_size=32)
'AI' 카테고리의 다른 글
TensorFlow 함수형 API 로 VGGNet 논문 구현 (1) | 2024.11.19 |
---|---|
TensorFlow 함수형 API 로 AlexNet 논문 구현 (0) | 2024.11.18 |
ViT 에서 언급한 CNN 의 Inductive bias 에 대해 알아보자 (3) | 2024.11.13 |
.ipynb_checkpoints 을 git 버전 관리에서 제거하기 (0) | 2024.11.12 |
Vanishing Gradient 와 Dead Neuron (0) | 2024.11.02 |