Datasets 文件
雲端儲存
加入 Hugging Face 社群
並獲得增強的文件體驗
開始使用
雲端儲存
Hugging Face 資料集
Hugging Face 資料集中心擁有不斷增長的、涵蓋各種領域和任務的資料集集合。
它不僅僅是一個雲端儲存:資料集中心是一個透過 git 提供資料版本控制以及資料集檢視器來探索資料的平臺,使其成為儲存 AI 就緒資料集的絕佳場所。
本指南展示瞭如何使用 fsspec
的檔案系統實現從其他雲端儲存匯入資料。
從雲端儲存匯入資料
大多數雲端儲存提供商都有 fsspec
檔案系統實現,這對於使用相同的程式碼從任何雲提供商匯入資料非常有用。這對於在 Hugging Face 上釋出資料集尤其有用。
請看下錶,瞭解一些受支援的雲端儲存提供商示例
儲存提供商 | 檔案系統實現 |
---|---|
Amazon S3 | s3fs |
Google Cloud Storage | gcsfs |
Azure Blob/DataLake | adlfs |
Oracle Cloud Storage | ocifs |
本指南將向您展示如何從任何雲端儲存匯入資料檔案並將資料集儲存在 Hugging Face 上。
假設我們想從雲端儲存中的 Parquet 檔案在 Hugging Face 上釋出一個數據集。
首先,例項化您的雲端儲存檔案系統並列出您想要匯入的檔案
>>> import fsspec
>>> fs = fsspec.filesystem("...") # s3 / gcs / abfs / adl / oci / ...
>>> data_dir = "path/to/my/data/"
>>> pattern = "*.parquet"
>>> data_files = fs.glob(data_dir + pattern)
["path/to/my/data/0001.parquet", "path/to/my/data/0001.parquet", ...]
然後您可以在 Hugging Face 上建立一個數據集並匯入資料檔案,例如使用
>>> from huggingface_hub import create_repo, upload_file
>>> from tqdm.auto import tqdm
>>> destination_dataset = "username/my-dataset"
>>> create_repo(destination_dataset, repo_type="dataset")
>>> for data_file in tqdm(fs.glob(data_dir + pattern)):
... with fs.open(data_file) as fileobj:
... path_in_repo = data_file[len(data_dir):]
... upload_file(
... path_or_fileobj=fileobj,
... path_in_repo=path_in_repo,
... repo_id=destination_dataset,
... repo_type="dataset",
... )
如果您正在尋找更多上傳選項,請檢視 huggingface_hub 文件中的檔案上傳此處。
最後,您現在可以使用 🤗 Datasets 載入資料集
>>> from datasets import load_dataset
>>> ds = load_dataset("username/my-dataset")