download()
下載指定的基準資料集到本地。
語法
def download() -> None
說明
download()
方法負責從 AWS S3 儲存區下載指定的基準資料集,並儲存到本地 benchmark/
目錄。下載過程包含完整性驗證。
返回值
無返回值。資料集下載後會儲存在 benchmark/
目錄。
基本範例
from petsard.loader.benchmarker import BenchmarkerConfig, BenchmarkerRequests
# 建立配置
config = BenchmarkerConfig(
benchmark_name="adult-income",
filepath_raw="benchmark://adult-income"
)
# 建立下載器並執行下載
downloader = BenchmarkerRequests(config.get_benchmarker_config())
downloader.download()
下載流程
- 檢查本地快取:檢查
benchmark/
目錄是否已存在該資料集 - 建立目錄:若不存在,建立
benchmark/
目錄 - 下載資料:從 AWS S3 下載資料集
- 驗證完整性:使用 SHA256 驗證下載的資料
- 儲存檔案:將資料儲存到本地
錯誤處理
from petsard.exceptions import BenchmarkDatasetsError
try:
downloader.download()
except BenchmarkDatasetsError as e:
print(f"下載失敗: {e}")
可能的錯誤原因:
- 網路連線失敗
- 資料集不存在
- SHA256 驗證失敗
- 磁碟空間不足
注意事項
- 首次下載需要網路連線
- 資料集會快取在本地,重複下載會跳過
- 大型資料集下載可能需要較長時間
- 建議透過 LoaderAdapter 間接使用,而非直接呼叫