pip를 사용하여 kagglehub
패키지를 설치합니다:
pip install kagglehub
인증은 사용자 동의가 필요한 공용 리소스 또는 개인 리소스에 액세스하는 경우 에만 필요합니다.
먼저 Kaggle 계정이 필요합니다. 여기에서 가입할 수 있습니다.
로그인 후 https://www.kaggle.com/settings에서 "API" 섹션 아래의 "새 토큰 만들기" 버튼을 클릭하여 Kaggle API 자격 증명을 다운로드할 수 있습니다.
인증에는 3가지 옵션이 있습니다.
그러면 사용자 이름과 토큰을 입력하라는 메시지가 표시됩니다.
import kagglehub
kagglehub . login ()
Kaggle 사용자 이름과 토큰을 환경으로 내보내도록 선택할 수도 있습니다.
export KAGGLE_USERNAME=datadinosaur
export KAGGLE_KEY=xxxxxxxxxxxxxx
kaggle.json
에서 자격 증명 읽기 ~/.kaggle/kaggle.json
에 kaggle.json
자격 증명 파일을 저장하세요.
또는 KAGGLE_CONFIG_DIR
환경 변수를 설정하여 이 위치를 $KAGGLE_CONFIG_DIR/kaggle.json
으로 변경할 수 있습니다.
Windows 사용자를 위한 참고 사항: 기본 디렉터리는 %HOMEPATH%/kaggle.json
입니다.
사용자 이름과 키 토큰을 Colab 비밀번호 KAGGLE_USERNAME
및 KAGGLE_KEY
로 저장하세요.
Colab과 Colab Enterprise 모두에서 비밀번호를 추가하는 방법은 이 도움말에서 확인할 수 있습니다.
다음 예에서는 이 Kaggle 모델의 answer-equivalence-bem
변형을 다운로드합니다: https://www.kaggle.com/models/google/bert/tensorFlow2/answer-equivalence-bem
import kagglehub
# Download the latest version.
kagglehub . model_download ( 'google/bert/tensorFlow2/answer-equivalence-bem' )
# Download a specific version.
kagglehub . model_download ( 'google/bert/tensorFlow2/answer-equivalence-bem/1' )
# Download a single file.
kagglehub . model_download ( 'google/bert/tensorFlow2/answer-equivalence-bem' , path = 'variables/variables.index' )
# Download a model or file, even if previously downloaded to cache.
kagglehub . model_download ( 'google/bert/tensorFlow2/answer-equivalence-bem' , force_download = True )
새 변형(또는 이미 존재하는 경우 새 변형 버전)을 업로드합니다.
import kagglehub
# For example, to upload a new variation to this model:
# - https://www.kaggle.com/models/google/bert/tensorFlow2/answer-equivalence-bem
#
# You would use the following handle: `google/bert/tensorFlow2/answer-equivalence-bem`
handle = '///'
local_model_dir = 'path/to/local/model/dir'
kagglehub . model_upload ( handle , local_model_dir )
# You can also specify some version notes (optional)
kagglehub . model_upload ( handle , local_model_dir , version_notes = 'improved accuracy' )
# You can also specify a license (optional)
kagglehub . model_upload ( handle , local_model_dir , license_name = 'Apache 2.0' )
# You can also specify a list of patterns for files/dirs to ignore.
# These patterns are combined with `kagglehub.models.DEFAULT_IGNORE_PATTERNS`
# to determine which files and directories to exclude.
# To ignore entire directories, include a trailing slash (/) in the pattern.
kagglehub . model_upload ( handle , local_model_dir , ignore_patterns = [ "original/" , "*.tmp" ])
다음 예에서는 Spotify Recommendation
Kaggle 데이터세트를 다운로드합니다: https://www.kaggle.com/datasets/bricevergnou/spotify-recommendation
import kagglehub
# Download the latest version.
kagglehub . dataset_download ( 'bricevergnou/spotify-recommendation' )
# Download a specific version.
kagglehub . dataset_download ( 'bricevergnou/spotify-recommendation/versions/1' )
# Download a single file
kagglehub . dataset_download ( 'bricevergnou/spotify-recommendation' , path = 'data.csv' )
# Download a dataset or file, even if previously downloaded to cache.
kagglehub . dataset_download ( 'bricevergnou/spotify-recommendation' , force_download = True )
새 데이터 세트(또는 이미 존재하는 경우 새 버전)를 업로드합니다.
import kagglehub
# For example, to upload a new dataset (or version) at:
# - https://www.kaggle.com/datasets/bricevergnou/spotify-recommendation
#
# You would use the following handle: `bricevergnou/spotify-recommendation`
handle = ' < KAGGLE_USERNAME > / < DATASET >
local_dataset_dir = 'path/to/local/dataset/dir'
# Create a new dataset
kagglehub . dataset_upload ( handle , local_dataset_dir )
# You can then create a new version of this existing dataset and include version notes (optional).
kagglehub . dataset_upload ( handle , local_dataset_dir , version_notes = 'improved data' )
# You can also specify a list of patterns for files/dirs to ignore.
# These patterns are combined with `kagglehub.datasets.DEFAULT_IGNORE_PATTERNS`
# to determine which files and directories to exclude.
# To ignore entire directories, include a trailing slash (/) in the pattern.
kagglehub . dataset_upload ( handle , local_dataset_dir , ignore_patterns = [ "original/" , "*.tmp" ])
다음 예에서는 Digit Recognizer
Kaggle 대회를 다운로드합니다: https://www.kaggle.com/competitions/digit-recognizer
import kagglehub
# Download the latest version.
kagglehub . competition_download ( 'digit-recognizer' )
# Download a single file
kagglehub . competition_download ( 'digit-recognizer' , path = 'train.csv' )
# Download a competition or file, even if previously downloaded to cache.
kagglehub . competition_download ( 'digit-recognizer' , force_download = True )
우리는 해치를 사용하여 이 프로젝트를 관리합니다.
설치하려면 다음 지침을 따르세요.
# Run all tests for current Python version.
hatch test
# Run all tests for all Python versions.
hatch test --all
# Run all tests for a specific Python version.
hatch test -py 3.11
# Run a single test file
hatch test tests/test_ < SOME_FILE > .py
로컬 컴퓨터에서 통합 테스트를 실행하려면 Kaggle API 자격 증명을 설정해야 합니다. 이 문서의 이전 섹션에 설명된 두 가지 방법 중 하나로 이 작업을 수행할 수 있습니다. 다음 섹션을 참조하세요.
이러한 방법 중 하나로 자격 증명을 설정한 후 다음과 같이 통합 테스트를 실행할 수 있습니다.
# Run all tests
hatch test integration_tests
kagglehub
실행 # Download a model & print the path
hatch run python -c " import kagglehub; print('path: ', kagglehub.model_download('google/bert/tensorFlow2/answer-equivalence-bem')) "
# Lint check
hatch run lint:style
hatch run lint:typing
hatch run lint:all # for both
# Format
hatch run lint:fmt
hatch test --cover
hatch build
hatch
명령 실행이는 일관된 환경에서 실행하고 Python 버전 간에 쉽게 전환하는 데 유용합니다.
다음은 hatch run lint:all
실행하는 방법을 보여 주지만 이는 다른 모든 해치 명령에도 작동합니다.
# Use default Python version
./docker-hatch run lint:all
# Use specific Python version (Must be a valid tag from: https://hub.docker.com/_/python)
./docker-hatch -v 3.9 run lint:all
# Run test in docker with specific Python version
./docker-hatch -v 3.9 test
권장 확장 프로그램을 설치하세요.
프로젝트 폴더에 가상 환경을 생성하도록 해치를 구성합니다.
hatch config set dirs.env.virtual .env
그런 다음, hatch -e all run tests
실행하여 필요한 모든 Python 환경을 만듭니다.
마지막으로 선택한 환경 중 하나를 사용하도록 vscode를 구성합니다. cmd + shift + p
-> python: Select Interpreter
-> ./.env
에서 폴더 중 하나 선택
Kagglehub 라이브러리는 로그 폴더에 저장되는 자동 로깅을 구성했습니다. 로그 대상은 os.path.expanduser를 통해 확인됩니다.
아래 표에는 가능한 위치가 포함되어 있습니다.
운영 체제 | 로그 경로 |
---|---|
OSX | /user/$USERNAME/.kaggle/logs/kagglehub.log |
리눅스 | ~/.kaggle/logs/kagglehub.log |
창문들 | C:Users%USERNAME%.kagglelogskagglehub.log |
문제 해결에 도움이 되도록 로그를 포함해 주세요.