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:
kagglehubkagglehub.login() importieren
Sie können Ihren Kaggle-Benutzernamen und Ihr Token auch in die Umgebung exportieren:
export KAGGLE_USERNAME=datadinosaurexport KAGGLE_KEY=xxxxxxxxxxxxxxx
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# Laden Sie die neueste Version herunter.kagglehub.model_download('google/bert/tensorFlow2/answer-equivalence-bem')# Laden Sie eine bestimmte Version herunter.kagglehub.model_download('google/bert/tensorFlow2/answer-equivalence-bem/1 ')# Laden Sie eine Single herunter file.kagglehub.model_download('google/bert/tensorFlow2/answer-equivalence-bem', path='variables/variables.index')# Laden Sie ein Modell oder eine Datei herunter, auch wenn sie zuvor in den 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# Zum Beispiel, um eine neue Variante zu diesem Modell hochzuladen:# - https://www.kaggle.com/models/google/bert/tensorFlow2/answer-equivalence-bem# # Sie würden das folgende Handle verwenden: ` 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)# Sie können auch einige Versionshinweise angeben (optional)kagglehub .model_upload(handle, local_model_dir, version_notes='improved precision')# Sie können auch a angeben Lizenz (optional)kagglehub.model_upload(handle, local_model_dir, License_name='Apache 2.0')# Sie können auch eine Liste von Mustern für Dateien/Verzeichnisse angeben, die ignoriert werden sollen.# Diese Muster werden mit `kagglehub.models.DEFAULT_IGNORE_PATTERNS` # kombiniert Bestimmen Sie, welche Dateien und Verzeichnisse ausgeschlossen werden sollen. # Um ganze Verzeichnisse zu ignorieren, fügen Sie einen abschließenden Schrägstrich (/) in das Muster ein.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# Laden Sie die neueste Version herunter.kagglehub.dataset_download('bricevergnou/spotify-recommendation')# Laden Sie eine bestimmte Version herunter.kagglehub.dataset_download('bricevergnou/spotify-recommendation/versions/1')# Laden Sie eine einzelne Datei herunterkagglehub.dataset_download( 'bricevergnou/spotify-recommendation', path='data.csv')# Laden Sie einen Datensatz oder eine Datei herunter, auch wenn diese zuvor in den Cache.kagglehub.dataset_download('bricevergnou/spotify-recommendation', force_download=True) heruntergeladen wurde.
Lädt einen neuen Datensatz hoch (oder eine neue Version, falls diese bereits vorhanden ist).
import kagglehub# Zum Beispiel, um einen neuen Datensatz (oder eine neue Version) hochzuladen unter:# - https://www.kaggle.com/datasets/bricevergnou/spotify-recommendation# # Sie würden das folgende Handle verwenden: `bricevergnou/spotify- Empfehlung`handle = '<KAGGLE_USERNAME>/<DATASET>local_dataset_dir = 'path/to/local/dataset/dir'# Erstellen Sie einen neuen Datensatzkagglehub.dataset_upload(handle, local_dataset_dir)# Sie können dann eine neue Version dieses vorhandenen Datensatzes erstellen und Versionshinweise hinzufügen (optional).kagglehub.dataset_upload(handle, local_dataset_dir , version_notes='improved data')# Sie können auch eine Liste von Mustern für zu ignorierende Dateien/Verzeichnisse angeben.# Diese Muster werden kombiniert mit `kagglehub.datasets.DEFAULT_IGNORE_PATTERNS` #, um zu bestimmen, welche Dateien und Verzeichnisse ausgeschlossen werden sollen. # Um ganze Verzeichnisse zu ignorieren, fügen Sie einen abschließenden Schrägstrich (/) in das Muster ein.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# Laden Sie die neueste Version herunter.kagglehub.competition_download('digit-recognizer')# Laden Sie eine einzelne Datei herunterkagglehub.competition_download('digit-recognizer', path='train.csv')# Laden Sie einen Wettbewerb oder eine Datei herunter, auch wenn dies zuvor der Fall war in den Cache heruntergeladen. kagglehub.competition_download('digit-recognizer', force_download=True)
Wir verwenden Hatch, um dieses Projekt zu verwalten.
Befolgen Sie diese Anweisungen, um es zu installieren.
# Alle Tests für die aktuelle Python-Version ausführen.hatch test# Alle Tests für alle Python-Versionen ausführen.hatch test --all# Alle Tests für eine bestimmte Python-Version ausführen.hatch test -py 3.11# Einen einzelnen Test ausführen filehatch 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:
Umgebungsvariablen verwenden
Anmeldeinformationsdatei verwenden
Nachdem Sie Ihre Anmeldeinformationen mit einer dieser Methoden eingerichtet haben, können Sie die Integrationstests wie folgt ausführen:
# Führen Sie alle Testshatch test integration_tests aus
kagglehub
von der Quelle aus aus# Laden Sie ein Modell herunter und drucken Sie den Pfad aus. Führen Sie python -c "import kagglehub; print('path: ', kagglehub.model_download('google/bert/tensorFlow2/answer-equivalence-bem'))" aus.
# Lint checkhatch run lint:style Luke run lint:tippen hatch run lint:all # für beide# Formathatch run lint:fmt
Lukentest – Abdeckung
Lukenbau
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%BENUTZERNAME%.kagglelogskagglehub.log |
Bitte fügen Sie das Protokoll bei, um die Fehlerbehebung zu erleichtern.