使用 pip 安裝kagglehub
套件:
pip install kagglehub
僅當存取需要使用者同意的公共資源或私有資源時才需要進行身份驗證。
首先,您需要一個 Kaggle 帳戶。您可以在這裡註冊。
登入後,您可以透過點擊「API」部分下的「建立新令牌」按鈕,在 https://www.kaggle.com/settings 下載您的 Kaggle API 憑證。
您有 3 種不同的身份驗證選項。
這將提示您輸入使用者名稱和令牌:
導入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 ') # 下載單一檔案.kagglehub.model_download('google/bert/tensorFlow2/answer-equivalence-bem', path='variables/variables.index')# 下載模型或文件,即使之前已下載到快取。 '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_dir = 'path/to/local/model/dir'kagglehub.model_upload_handdel,model )# 你也可以指定一些版本說明(可選)kagglehub.model_upload(handle, local_model_dir, version_notes='improved precision')# 你也可以指定一個授權(可選)kagglehub.model_upload(handle, local_modelense_dir, local_modelense 'Apache 2.0')# 您也可以指定要忽略的檔案/目錄的模式清單。 # 這些模式與 `kagglehub.models.DEFAULT_IGNORE_PATTERNS` 組合 # 以決定要排除哪些檔案和目錄。 # 若要忽略整個目錄,請在模式中包含尾斜線 (/)。
以下範例下載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') 下載單一檔案下載單一檔案。 -recommendation', 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-推薦`handle = '<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')# 您也可以指定要忽略的檔案/目錄的模式清單。 .DEFAULT_IGNORE_PATTERNS 組合` # 決定要排除哪些檔案和目錄。 # 若要忽略整個目錄,請在模式中包含尾斜線 (/)。
以下範例下載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 tests/test_ <某些文件>.py
要在本機電腦上執行整合測試,您需要設定 Kaggle API 憑證。您可以透過本文檔前面部分中所述的兩種方法之一來執行此操作。請參閱以下部分:
使用環境變數
使用憑證文件
透過任何這些方法設定憑證後,您可以執行整合測試,如下所示:
# 執行所有testshatch測試integration_tests
kagglehub
# 下載模型並列印路徑 hatch run python -c "import kagglehub; print('path: ', kagglehub.model_download('google/bert/tensorFlow2/answer-equivalence-bem'))"
# Lint checkhatch 運行 lint:style 孵化運行 lint: 打字 hide run lint:all # 對於兩者# Formathatch run 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 環境。
最後,設定 vscode 使用選定的環境之一: cmd + shift + p
-> python: Select Interpreter
-> 選擇./.env
中的資料夾之一
kagglehub 庫已配置自動日誌記錄,該日誌記錄儲存在日誌資料夾中。日誌目標透過 os.path.expanduser 解析
下表包含可能的位置:
作業系統 | 日誌路徑 |
---|---|
作業系統 | /user/$USERNAME/.kaggle/logs/kagglehub.log |
作業系統 | 〜/.kaggle/logs/kagglehub.log |
視窗 | C:Users%USERNAME%.kagglelogskagglehub.log |
請包含日誌以協助解決問題。