Установите пакет kagglehub
с помощью pip:
pip install kagglehub
Аутентификация необходима только для доступа к общедоступным ресурсам, требующим согласия пользователя, или к частным ресурсам.
Во-первых, вам понадобится учетная запись Kaggle. Вы можете зарегистрироваться здесь.
После входа в систему вы можете загрузить свои учетные данные Kaggle API по адресу https://www.kaggle.com/settings, нажав кнопку «Создать новый токен» в разделе «API».
У вас есть 3 различных варианта аутентификации.
Вам будет предложено ввести имя пользователя и токен:
импортировать kagglehubkagglehub.login()
Вы также можете экспортировать свое имя пользователя и токен Kaggle в среду:
экспорт KAGGLE_USERNAME=datadinosaurexport KAGGLE_KEY=xxxxxxxxxxxxxxx
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# Загрузите последнюю версию.kagglehub.model_download('google/bert/tensorFlow2/answer-equivalence-bem')# Загрузите конкретную версию.kagglehub.model_download('google/bert/tensorFlow2/answer-equivalence-bem/1 ')# Загрузите сингл file.kagglehub.model_download('google/bert/tensorFlow2/answer-equivalence-bem', path='variables/variables.index')# Загрузите модель или файл, даже если они ранее были загружены в кэш.kagglehub.model_download('google /bert/tensorFlow2/answer-equivalence-bem',force_download=True)
Загружает новый вариант (или версию нового варианта, если она уже существует).
import kagglehub# Например, чтобы загрузить новый вариант этой модели: # - https://www.kaggle.com/models/google/bert/tensorFlow2/answer-equivalence-bem# # Вы должны использовать следующий дескриптор: ` google/bert/tensorFlow2/answer-equivalence-bem`handle = '<KAGGLE_USERNAME>/<MODEL>/<FRAMEWORK>/<VARIATION>'local_model_dir = 'path/to/local/model/dir'kagglehub.model_upload(handle, local_model_dir)# Вы также можете указать некоторые примечания к версии (необязательно)kagglehub .model_upload(handle, local_model_dir, version_notes='повышенная точность')# Вы также можно указать лицензию (необязательно)kagglehub.model_upload(handle, local_model_dir, License_name='Apache 2.0')# Вы также можете указать список шаблонов для файлов/каталогов, которые следует игнорировать.# Эти шаблоны объединяются с `kagglehub.models. DEFAULT_IGNORE_PATTERNS` # чтобы определить, какие файлы и каталоги следует исключить. # Чтобы игнорировать целые каталоги, добавьте косую черту (/) в шаблон.kagglehub.model_upload(handle, local_model_dir, ignore_patterns=["original/", "*.tmp"])
В следующих примерах загружается набор данных Kaggle Spotify Recommendation
: https://www.kaggle.com/datasets/bricevergnou/spotify-recommendation.
import kagglehub# Загрузите последнюю версию.kagglehub.dataset_download('bricevergnou/spotify-recommendation')# Загрузите конкретную версию.kagglehub.dataset_download('bricevergnou/spotify-recommendation/versions/1')# Загрузите одиночную версию filekagglehub.dataset_download('bricevergnou/spotify-recommendation', path='data.csv')# Загрузите набор данных или файл, даже если он ранее был загружен в кэш.kagglehub.dataset_download('bricevergnou/spotify-recommendation',force_download=True)
Загружает новый набор данных (или новую версию, если она уже существует).
import kagglehub# Например, чтобы загрузить новый набор данных (или версию) по адресу:# - https://www.kaggle.com/datasets/bricevergnou/spotify-recommendation# # Вы должны использовать следующий дескриптор: `bricevergnou/spotify- рекомендация`handle = '<KAGGLE_USERNAME>/<DATASET>local_dataset_dir = 'path/to/local/dataset/dir'# Создайте новый набор данныхkagglehub.dataset_upload(handle, local_dataset_dir)# Затем вы можете создать новую версию этого существующего набора данных и включить примечания к версии (необязательно).kagglehub.dataset_upload(handle, local_dataset_dir , version_notes='improved data')# Вы также можете указать список шаблонов для файлов/каталогов, которые следует игнорировать.# Эти шаблоны объединяются с `kagglehub.datasets.DEFAULT_IGNORE_PATTERNS` #, чтобы определить, какие файлы и каталоги следует исключить. # Чтобы игнорировать целые каталоги, добавьте косую черту (/) в шаблон.kagglehub.dataset_upload(handle, local_dataset_dir, ignore_patterns=["original/", "*.tmp"])
Следующие примеры загружают соревнование Kaggle Digit Recognizer
: https://www.kaggle.com/competitions/digit-recouncer
import kagglehub# Загрузите последнюю версию.kagglehub.competition_download('digit-recouncer')# Загрузите один файлkagglehub.competition_download('digit-recouncer', path='train.csv')# Загрузите соревнование или файл, даже если это было сделано ранее загружен в кэш. kagglehub.competition_download('распознаватель цифр', Force_download=True)
Мы используем люк для управления этим проектом.
Следуйте этим инструкциям, чтобы установить его.
# Запустить все тесты для текущей версии Python.hatch test# Запустить все тесты для всех версий Python.hatch test --all# Запустить все тесты для конкретной версии Python.hatch test -py 3.11# Запустить один тестовый файлhatch testtests/test_ <НЕКОТОРОЙ_ФАЙЛ>.py
Чтобы запускать интеграционные тесты на локальном компьютере, вам необходимо настроить учетные данные Kaggle API. Это можно сделать одним из двух способов, описанных в предыдущих разделах этого документа. Обратитесь к разделам:
Использование переменных среды
Использование файла учетных данных
После настройки учетных данных любым из этих методов вы можете запустить интеграционные тесты следующим образом:
# Запускаем все тестовые тесты Integration_tests
kagglehub
из исходного кода# Загрузите модель и распечатайте путь, запустите python -c "import kagglehub; print('path: ', kagglehub.model_download('google/bert/tensorFlow2/answer-equivalence-bem'))"
# Проверка линта, запуск lint:style люк запускает ворс: печатаю Hatch run lint:all # для обоих# Formatatch run lint:fmt
тест люка -- крышка
сборка люка
hatch
внутри DockerЭто полезно для работы в согласованной среде и легкого переключения между версиями Python.
Ниже показано, как запустить hatch run lint:all
, но это также работает и для любых других команд Hatch:
# 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:Пользователи%USERNAME%.kagglelogskagglehub.log |
Приложите журнал для устранения неполадок.