Installez le package kagglehub
avec pip :
pip install kagglehub
L'authentification n'est nécessaire que pour accéder aux ressources publiques nécessitant le consentement de l'utilisateur ou aux ressources privées.
Tout d’abord, vous aurez besoin d’un compte Kaggle. Vous pouvez vous inscrire ici.
Après vous être connecté, vous pouvez télécharger vos informations d'identification API Kaggle sur https://www.kaggle.com/settings en cliquant sur le bouton « Créer un nouveau jeton » sous la section « API ».
Vous disposez de 3 options différentes pour vous authentifier.
Cela vous demandera de saisir votre nom d'utilisateur et votre jeton :
import kagglehub
kagglehub . login ()
Vous pouvez également choisir d'exporter votre nom d'utilisateur et votre token Kaggle vers l'environnement :
export KAGGLE_USERNAME=datadinosaur
export KAGGLE_KEY=xxxxxxxxxxxxxx
kaggle.json
Stockez votre fichier d'informations d'identification kaggle.json
dans ~/.kaggle/kaggle.json
.
Vous pouvez également définir la variable d'environnement KAGGLE_CONFIG_DIR
pour modifier cet emplacement en $KAGGLE_CONFIG_DIR/kaggle.json
.
Remarque pour les utilisateurs Windows : le répertoire par défaut est %HOMEPATH%/kaggle.json
.
Stockez votre nom d'utilisateur et votre jeton de clé en tant que secrets Colab KAGGLE_USERNAME
et KAGGLE_KEY
.
Des instructions sur l'ajout de secrets dans Colab et Colab Enterprise sont disponibles dans cet article.
Les exemples suivants téléchargent la answer-equivalence-bem
de ce modèle 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 )
Télécharge une nouvelle variante (ou la version d'une nouvelle variante si elle existe déjà).
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" ])
Les exemples suivants téléchargent l'ensemble de données 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 )
Télécharge un nouvel ensemble de données (ou une nouvelle version si elle existe déjà).
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" ])
Les exemples suivants téléchargent le concours 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 )
Nous utilisons Hatch pour gérer ce projet.
Suivez ces instructions pour l'installer.
# 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
Pour exécuter des tests d'intégration sur votre machine locale, vous devez configurer vos informations d'identification API Kaggle. Vous pouvez le faire de l'une des deux manières décrites dans les sections précédentes de ce document. Référez-vous aux rubriques :
Après avoir configuré vos informations d'identification par l'une de ces méthodes, vous pouvez exécuter les tests d'intégration comme suit :
# Run all tests
hatch test integration_tests
kagglehub
à partir des sources # 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
dans DockerCeci est utile pour exécuter dans un environnement cohérent et basculer facilement entre les versions de Python.
Ce qui suit montre comment exécuter hatch run lint:all
, mais cela fonctionne également pour toutes les autres commandes 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
Installez les extensions recommandées.
Configurez Hatch pour créer un environnement virtuel dans le dossier du projet.
hatch config set dirs.env.virtual .env
Ensuite, créez tous les environnements Python nécessaires en exécutant hatch -e all run tests
.
Enfin, configurez vscode pour utiliser l'un des environnements sélectionnés : cmd + shift + p
-> python: Select Interpreter
-> Choisissez l'un des dossiers dans ./.env
La bibliothèque kagglehub a configuré la journalisation automatique qui est stockée dans un dossier de journaux. La destination du journal est résolue via os.path.expanduser
Le tableau ci-dessous contient les emplacements possibles :
système d'exploitation | chemin du journal |
---|---|
osx | /user/$USERNAME/.kaggle/logs/kagglehub.log |
Linux | ~/.kaggle/logs/kagglehub.log |
fenêtres | C:Users%USERNAME%.kagglelogskagglehub.log |
Veuillez inclure le journal pour vous aider à résoudre les problèmes.