Installieren Sie das kagglehub
-Paket mit pip:
pip install kagglehub
Eine Authentifizierung ist nur erforderlich, um auf öffentliche Ressourcen zuzugreifen, für die die Zustimmung des Benutzers erforderlich ist, oder auf private Ressourcen.
Zunächst benötigen Sie ein Kaggle-Konto. Hier können Sie sich anmelden.
Nach der Anmeldung können Sie Ihre Kaggle-API-Anmeldeinformationen unter https://www.kaggle.com/settings herunterladen, indem Sie im Abschnitt „API“ auf die Schaltfläche „Neues Token erstellen“ klicken.
Sie haben 3 verschiedene Möglichkeiten zur Authentifizierung.
Dadurch werden Sie aufgefordert, Ihren Benutzernamen und Ihr Token einzugeben:
import kagglehub
kagglehub . login ()
Sie können Ihren Kaggle-Benutzernamen und Ihr Token auch in die Umgebung exportieren:
export KAGGLE_USERNAME=datadinosaur
export KAGGLE_KEY=xxxxxxxxxxxxxx
kaggle.json
lesen Speichern Sie Ihre kaggle.json
-Anmeldeinformationsdatei unter ~/.kaggle/kaggle.json
.
Alternativ können Sie die Umgebungsvariable KAGGLE_CONFIG_DIR
festlegen, um diesen Speicherort in $KAGGLE_CONFIG_DIR/kaggle.json
zu ändern.
Hinweis für Windows-Benutzer: Das Standardverzeichnis ist %HOMEPATH%/kaggle.json
.
Speichern Sie Ihren Benutzernamen und Ihr Schlüsseltoken als Colab-Geheimnisse KAGGLE_USERNAME
und KAGGLE_KEY
.
Anweisungen zum Hinzufügen von Geheimnissen in Colab und Colab Enterprise finden Sie in diesem Artikel.
Die folgenden Beispiele laden die answer-equivalence-bem
Variante dieses Kaggle-Modells herunter: 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 )
Lädt eine neue Variante hoch (oder die Version einer neuen Variante, falls diese bereits vorhanden ist).
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" ])
Die folgenden Beispiele laden den Spotify Recommendation
Kaggle-Datensatz herunter: 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 )
Lädt einen neuen Datensatz hoch (oder eine neue Version, falls diese bereits vorhanden ist).
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" ])
Die folgenden Beispiele laden den Digit Recognizer
Kaggle-Wettbewerb herunter: 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 )
Wir verwenden Hatch, um dieses Projekt zu verwalten.
Befolgen Sie diese Anweisungen, um es zu installieren.
# 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
Um Integrationstests auf Ihrem lokalen Computer auszuführen, müssen Sie Ihre Kaggle-API-Anmeldeinformationen einrichten. Sie können dies auf eine der beiden in den vorherigen Abschnitten dieses Dokuments beschriebenen Arten tun. Weitere Informationen finden Sie in den Abschnitten:
Nachdem Sie Ihre Anmeldeinformationen mit einer dieser Methoden eingerichtet haben, können Sie die Integrationstests wie folgt ausführen:
# Run all tests
hatch test integration_tests
kagglehub
von der Quelle aus aus # 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
-Befehlen in DockerDies ist nützlich, um in einer konsistenten Umgebung ausgeführt zu werden und einfach zwischen Python-Versionen zu wechseln.
Im Folgenden wird gezeigt, wie man hatch run lint:all
ausführt, aber dies funktioniert auch für alle anderen Hatch-Befehle:
# 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
Installieren Sie die empfohlenen Erweiterungen.
Konfigurieren Sie Hatch, um eine virtuelle Umgebung im Projektordner zu erstellen.
hatch config set dirs.env.virtual .env
Erstellen Sie anschließend alle benötigten Python-Umgebungen, indem Sie hatch -e all run tests
ausführen.
Konfigurieren Sie abschließend vscode für die Verwendung einer der ausgewählten Umgebungen: cmd + shift + p
-> python: Select Interpreter
-> Wählen Sie einen der Ordner in ./.env
aus
Die Kagglehub-Bibliothek hat die automatische Protokollierung konfiguriert, die in einem Protokollordner gespeichert wird. Das Protokollziel wird über os.path.expanduser aufgelöst
Die folgende Tabelle enthält mögliche Standorte:
os | Protokollpfad |
---|---|
osx | /user/$USERNAME/.kaggle/logs/kagglehub.log |
Linux | ~/.kaggle/logs/kagglehub.log |
Fenster | C:Benutzer%USERNAME%.kagglelogskagglehub.log |
Bitte fügen Sie das Protokoll bei, um die Fehlerbehebung zu erleichtern.