Instale el paquete kagglehub
con pip:
pip install kagglehub
La autenticación solo es necesaria para acceder a recursos públicos que requieren el consentimiento del usuario o a recursos privados.
Primero, necesitará una cuenta de Kaggle. Puedes registrarte aquí.
Después de iniciar sesión, puede descargar sus credenciales de API de Kaggle en https://www.kaggle.com/settings haciendo clic en el botón "Crear nuevo token" en la sección "API".
Tienes 3 opciones diferentes para autenticar.
Esto le pedirá que ingrese su nombre de usuario y token:
import kagglehub
kagglehub . login ()
También puedes optar por exportar tu nombre de usuario y token de Kaggle al entorno:
export KAGGLE_USERNAME=datadinosaur
export KAGGLE_KEY=xxxxxxxxxxxxxx
kaggle.json
Guarde su archivo de credenciales kaggle.json
en ~/.kaggle/kaggle.json
.
Alternativamente, puede configurar la variable de entorno KAGGLE_CONFIG_DIR
para cambiar esta ubicación a $KAGGLE_CONFIG_DIR/kaggle.json
.
Nota para usuarios de Windows: el directorio predeterminado es %HOMEPATH%/kaggle.json
.
Guarde su nombre de usuario y token de clave como secretos de Colab KAGGLE_USERNAME
y KAGGLE_KEY
.
En este artículo se pueden encontrar instrucciones sobre cómo agregar secretos tanto en Colab como en Colab Enterprise.
Los siguientes ejemplos descargan la variación answer-equivalence-bem
de este modelo de 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 )
Carga una nueva variación (o la versión de una nueva variación si ya existe).
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" ])
Los siguientes ejemplos descargan el conjunto de datos 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 )
Carga un nuevo conjunto de datos (o una nueva versión si ya existe).
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" ])
Los siguientes ejemplos descargan el concurso 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 )
Usamos hatch para gestionar este proyecto.
Siga estas instrucciones para instalarlo.
# 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
Para ejecutar pruebas de integración en su máquina local, debe configurar sus credenciales de API de Kaggle. Puede hacerlo de una de estas dos formas descritas en las secciones anteriores de este documento. Consulte las secciones:
Después de configurar sus credenciales mediante cualquiera de estos métodos, puede ejecutar las pruebas de integración de la siguiente manera:
# Run all tests
hatch test integration_tests
kagglehub
desde la fuente # 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
dentro de DockerEsto es útil para ejecutar en un entorno consistente y cambiar fácilmente entre versiones de Python.
A continuación se muestra cómo ejecutar hatch run lint:all
pero esto también funciona para cualquier otro comando de 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
Instale las extensiones recomendadas.
Configure el sombreado para crear un entorno virtual en la carpeta del proyecto.
hatch config set dirs.env.virtual .env
Después, cree todos los entornos de Python necesarios ejecutando hatch -e all run tests
.
Finalmente, configure vscode para usar uno de los entornos seleccionados: cmd + shift + p
-> python: Select Interpreter
-> Elija una de las carpetas en ./.env
La biblioteca kagglehub ha configurado el registro automático que se almacena en una carpeta de registro. El destino del registro se resuelve a través de os.path.expanduser
La siguiente tabla contiene posibles ubicaciones:
sistema operativo | ruta de registro |
---|---|
osx | /usuario/$NOMBRE DE USUARIO/.kaggle/logs/kagglehub.log |
Linux | ~/.kaggle/logs/kagglehub.log |
ventanas | C:Usuarios%NOMBRE DE USUARIO%.kagglelogskagglehub.log |
Incluya el registro para ayudar a solucionar problemas.