pip を使用してkagglehub
パッケージをインストールします。
pip install kagglehub
認証は、ユーザーの同意が必要なパブリック リソースまたはプライベート リソースにアクセスする場合にのみ必要です。
まず、Kaggle アカウントが必要になります。ここからサインアップできます。
ログイン後、https://www.kaggle.com/settings で [API] セクションの [新しいトークンの作成] ボタンをクリックして、Kaggle API 認証情報をダウンロードできます。
認証には 3 つの異なるオプションがあります。
ユーザー名とトークンの入力を求めるプロンプトが表示されます。
import kagglehubkagglehub.login()
Kaggle のユーザー名とトークンを環境にエクスポートすることも選択できます。
エクスポート KAGGLE_USERNAME=datadinosaurexport 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# 最新バージョンをダウンロードします。kagglehub.model_download('google/bert/tensorFlow2/answer-equivalence-bem')# 特定のバージョンをダウンロードします。kagglehub.model_download('google/bert/tensorFlow2/answer-equivalence-bem/1 ')# 単一のダウンロードfile.kagglehub.model_download('google/bert/tensorFlow2/answer-equivalence-bem', path='variables/variables.index')# 以前にキャッシュにダウンロードされていた場合でも、モデルまたはファイルをダウンロードします。kagglehub.model_download('google /bert/tensorFlow2/answer-equivalence-bem'、force_download=True)
新しいバリエーション (または、既に存在する場合は新しいバリエーションのバージョン) をアップロードします。
import kagglehub# たとえば、このモデルに新しいバリエーションをアップロードするには:# - https://www.kaggle.com/models/google/bert/tensorFlow2/answer-equivalence-bem# # 次のハンドルを使用します。 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)# いくつかのバージョン ノートを指定することもできます (オプション)kagglehub .model_upload(handle, local_model_dir, version_notes='精度の向上')# あなたライセンスを指定することもできます (オプション)kagglehub.model_upload(handle, local_model_dir, License_name='Apache 2.0')# 無視するファイル/ディレクトリのパターンのリストを指定することもできます。# これらのパターンは `kagglehub.models と結合されます。 DEFAULT_IGNORE_PATTERNS` # 除外するファイルとディレクトリを決定します。 # ディレクトリ全体を無視するには、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# 最新バージョンをダウンロードします。kagglehub.dataset_download('bricevergnou/spotify-recommendation')# 特定のバージョンをダウンロードします。kagglehub.dataset_download('bricevergnou/spotify-recommendation/versions/1')# 単一のファイルをダウンロードしますkagglehub.dataset_download( 'bricevergnou/spotify-推奨', path='data.csv')# 以前にcache.kagglehub.dataset_download('bricevergnou/spotify-recommendation',force_download=True)にダウンロードした場合でも、データセットまたはファイルをダウンロードします。
新しいデータセット (または、既に存在する場合は新しいバージョン) をアップロードします。
import kagglehub# たとえば、新しいデータセット (またはバージョン) を次の場所にアップロードするには:# - https://www.kaggle.com/datasets/bricevergnou/spotify-recommendation# # 次のハンドルを使用します: `bricevergnou/spotify-推奨事項`ハンドル = '<KAGGLE_USERNAME>/<DATASET>local_dataset_dir = 'path/to/local/dataset/dir'# 新しいデータセットを作成しますkagglehub.dataset_upload(handle, local_dataset_dir)# 次に、この既存のデータセットの新しいバージョンを作成し、バージョン ノート (オプション) を含めることができます。kagglehub.dataset_upload(handle, local_dataset_dir) , version_notes='improved data')# ファイル/ディレクトリのパターンのリストを指定することもできます。 ignore.# これらのパターンは `kagglehub.datasets.DEFAULT_IGNORE_PATTERNS` # と組み合わせて、除外するファイルとディレクトリを決定します。 # ディレクトリ全体を無視するには、pattern.kagglehub.dataset_upload(handle, local_dataset_dir,ignore_patterns=["original/", "*.tmp"]) の末尾にスラッシュ (/) を含めます。
次の例では、 Digit Recognizer
Kaggle コンテストをダウンロードします: https://www.kaggle.com/competitions/digit-recognizer
import kagglehub# 最新バージョンをダウンロードします。kagglehub.competition_download('digit-recognizer')# 単一のファイルをダウンロードしますkagglehub.competition_download('digit-recognizer', path='train.csv')# 以前であっても、競争またはファイルをダウンロードしますキャッシュにダウンロードされました。 kagglehub.competition_download('数字認識装置'、force_download=True)
このプロジェクトの管理にはハッチを使用します。
以下の手順に従ってインストールしてください。
# 現在の Python バージョンのすべてのテストを実行します。hatch test# すべての Python バージョンのすべてのテストを実行します。hatch test --all# 特定の Python バージョンのすべてのテストを実行します。hatch test -py 3.11# 単一のテスト ファイルを実行しますhatch test testing/test_ <SOME_FILE>.py
ローカル マシンで統合テストを実行するには、Kaggle API 認証情報を設定する必要があります。これは、このドキュメントの前半のセクションで説明した 2 つの方法のいずれかで実行できます。次のセクションを参照してください。
環境変数の使用
認証情報ファイルの使用
これらの方法のいずれかで資格情報を設定した後、次のように統合テストを実行できます。
# すべての testshatch テストを実行します integration_tests
kagglehub
実行する# モデルをダウンロードしてパスハッチを出力 run python -c "import kagglehub; print('path: ', kagglehub.model_download('google/bert/tensorFlow2/answer-equivalence-bem'))"
# lint チェックハッチを実行する lint:style ハッチング ラン lint:入力 ハッチ実行 lint:all # 両方 # フォーマットハッチ実行 lint:fmt
ハッチテスト -- カバー
ハッチビルド
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 |
問題のトラブルシューティングに役立つようにログを含めてください。