pip を使用してkagglehub
パッケージをインストールします。
pip install kagglehub
認証は、ユーザーの同意が必要なパブリック リソースまたはプライベート リソースにアクセスする場合にのみ必要です。
まず、Kaggle アカウントが必要になります。ここからサインアップできます。
ログイン後、https://www.kaggle.com/settings で [API] セクションの [新しいトークンの作成] ボタンをクリックして、Kaggle API 認証情報をダウンロードできます。
認証には 3 つの異なるオプションがあります。
ユーザー名とトークンの入力を求めるプロンプトが表示されます。
import kagglehub
kagglehub . login ()
Kaggle のユーザー名とトークンを環境にエクスポートすることも選択できます。
export KAGGLE_USERNAME=datadinosaur
export KAGGLE_KEY=xxxxxxxxxxxxxx
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 の両方にシークレットを追加する手順については、この記事を参照してください。
次の例では、この Kaggle モデルのanswer-equivalence-bem
バリエーションをダウンロードします: 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 )
新しいバリエーション (または、既に存在する場合は新しいバリエーションのバージョン) をアップロードします。
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" ])
次の例では、 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 )
新しいデータセット (または、既に存在する場合は新しいバージョン) をアップロードします。
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" ])
次の例では、 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 )
このプロジェクトの管理にはハッチを使用します。
以下の手順に従ってインストールしてください。
# 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
ローカル マシンで統合テストを実行するには、Kaggle API 認証情報を設定する必要があります。これは、このドキュメントの前半のセクションで説明した 2 つの方法のいずれかで実行できます。次のセクションを参照してください。
これらの方法のいずれかで資格情報を設定した後、次のように統合テストを実行できます。
# Run all tests
hatch test integration_tests
kagglehub
実行する # 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
コマンドを実行するこれは、一貫した環境で実行し、Python のバージョンを簡単に切り替えるのに役立ちます。
以下は、 hatch run lint:all
を実行する方法を示していますが、これは他のハッチ コマンドでも機能します。
# 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
その後、 hatch -e all run tests
を実行して、必要なすべての Python 環境を作成します。
最後に、選択した環境の 1 つを使用するように vscode を設定します: cmd + shift + p
-> python: Select Interpreter
-> ./.env
内のフォルダーの 1 つを選択します。
kagglehub ライブラリには自動ログが設定されており、ログ フォルダーに保存されます。ログの宛先は os.path.expanduser によって解決されます。
以下の表に、考えられる場所を示します。
OS | ログパス |
---|---|
OSX | /user/$USERNAME/.kaggle/logs/kagglehub.log |
リナックス | ~/.kaggle/logs/kagglehub.log |
窓 | C:Users%USERNAME%.kagglelogskagglehub.log |
問題のトラブルシューティングに役立つようにログを含めてください。