Установите пакет kagglehub
с помощью pip:
pip install kagglehub
Аутентификация необходима только для доступа к общедоступным ресурсам, требующим согласия пользователя, или к частным ресурсам.
Во-первых, вам понадобится учетная запись Kaggle. Вы можете зарегистрироваться здесь.
После входа в систему вы можете загрузить свои учетные данные Kaggle API по адресу https://www.kaggle.com/settings, нажав кнопку «Создать новый токен» в разделе «API».
У вас есть 3 различных варианта аутентификации.
Вам будет предложено ввести имя пользователя и токен:
import kagglehub
kagglehub . login ()
Вы также можете экспортировать свое имя пользователя и токен Kaggle в среду:
export KAGGLE_USERNAME=datadinosaur
export KAGGLE_KEY=xxxxxxxxxxxxxx
kaggle.json
Сохраните файл учетных данных kaggle.json
по адресу ~/.kaggle/kaggle.json
.
Альтернативно вы можете установить переменную среды KAGGLE_CONFIG_DIR
, чтобы изменить это местоположение на $KAGGLE_CONFIG_DIR/kaggle.json
.
Примечание для пользователей Windows: каталог по умолчанию — %HOMEPATH%/kaggle.json
.
Сохраните свое имя пользователя и токен ключа как секреты Colab KAGGLE_USERNAME
и KAGGLE_KEY
.
Инструкции по добавлению секретов в Colab и Colab Enterprise можно найти в этой статье.
В следующих примерах загружается вариант answer-equivalence-bem
этой модели Kaggle: 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" ])
В следующих примерах загружается набор данных Kaggle Spotify Recommendation
: 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" ])
В следующих примерах можно загрузить соревнование Kaggle Digit Recognizer
: https://www.kaggle.com/competitions/digit-recouncer.
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
внутри DockerЭто полезно для работы в согласованной среде и легкого переключения между версиями 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
После этого создайте все необходимые среды Python, запустив hatch -e all run tests
.
Наконец, настройте vscode для использования одной из выбранных сред: cmd + shift + p
-> python: Select Interpreter
-> выберите одну из папок в ./.env
В библиотеке Kagglehub настроено автоматическое ведение журнала, которое хранится в папке журналов. Назначение журнала определяется через os.path.expanduser.
В таблице ниже указаны возможные местоположения:
ОС | путь к журналу |
---|---|
osx | /user/$USERNAME/.kaggle/logs/kagglehub.log |
Linux | ~/.kaggle/logs/kagglehub.log |
окна | C:Users%USERNAME%.kagglelogskagglehub.log |
Приложите журнал для устранения неполадок.