Hub 文件
檔名和拆分
並獲得增強的文件體驗
開始使用
檔名和拆分
要託管和共享您的資料集,請在 Hugging Face Hub 上建立一個數據集儲存庫並上傳您的資料檔案。
本指南將向您展示如何在上傳資料集時命名您的資料集儲存庫中的檔案和目錄,並啟用所有資料集 Hub 功能,例如資料集檢視器。有關更多詳細資訊,請參閱示例資料集配套合集。
具有受支援結構和檔案格式的資料集會自動在其 Hub 頁面上顯示資料集檢視器。
請注意,如果以下結構都不適合您的情況,您可以使用手動配置更好地控制如何定義拆分和子集。
基本用例
如果您的資料集沒有拆分為訓練/驗證/測試拆分,最簡單的資料集結構是隻包含一個檔案:`data.csv`(這適用於任何受支援的檔案格式和任何檔名)。
您的儲存庫還將包含一個 `README.md` 檔案,即顯示在資料集頁面上的資料集卡片。
my_dataset_repository/
├── README.md
└── data.csv拆分
資料集儲存庫中的某些模式可用於將特定檔案分配給訓練/驗證/測試拆分。
檔名
您可以根據 `train`、`test` 和 `validation` 拆分來命名資料檔案
my_dataset_repository/
├── README.md
├── train.csv
├── test.csv
└── validation.csv如果您沒有任何非傳統拆分,則可以將拆分名稱放在資料檔案中的任何位置。唯一的規則是拆分名稱必須由非單詞字元分隔,例如 `test-file.csv` 而不是 `testfile.csv`。支援的分隔符包括下劃線、破折號、空格、點和數字。
例如,以下檔名均可接受
- 訓練拆分:`train.csv`、`my_train_file.csv`、`train1.csv`
- 驗證拆分:`validation.csv`、`my_validation_file.csv`、`validation1.csv`
- 測試拆分:`test.csv`、`my_test_file.csv`、`test1.csv`
目錄名
您可以將資料檔案放入名為 `train`、`test` 和 `validation` 的不同目錄中,每個目錄都包含該拆分的資料檔案
my_dataset_repository/
├── README.md
└── data/
├── train/
│ └── data.csv
├── test/
│ └── more_data.csv
└── validation/
└── even_more_data.csv關鍵詞
有幾種方法可以指代訓練/驗證/測試拆分。驗證拆分有時被稱為“dev”,測試拆分可能被稱為“eval”。這些其他拆分名稱也受支援,以下關鍵詞是等效的
- train, training (訓練)
- validation, valid, val, dev (驗證)
- test, testing, eval, evaluation (測試)
因此,以下結構是有效的儲存庫
my_dataset_repository/
├── README.md
└── data/
├── training.csv
├── eval.csv
└── valid.csv每個拆分的多個檔案
拆分可以跨越多個檔案,例如
my_dataset_repository/
├── README.md
├── train_0.csv
├── train_1.csv
├── train_2.csv
├── train_3.csv
├── test_0.csv
└── test_1.csv確保您的 `train` 集合中的所有檔案都在其名稱中包含 *train*(測試和驗證檔案也一樣)。您甚至可以在檔名中的 `train` 前面或後面新增字首或字尾(例如 `my_train_file_00001.csv`)。
為了方便起見,您還可以將資料檔案放入不同的目錄中。在這種情況下,拆分名稱將從目錄名推斷。
my_dataset_repository/
├── README.md
└── data/
├── train/
│ ├── shard_0.csv
│ ├── shard_1.csv
│ ├── shard_2.csv
│ └── shard_3.csv
└── test/
├── shard_0.csv
└── shard_1.csv自定義拆分名稱
如果您的資料集拆分具有非 `train`、`test` 或 `validation` 的自定義名稱,那麼您可以將資料檔案命名為 `data/<split_name>-xxxxx-of-xxxxx.csv`。
以下是一個包含三個拆分的示例:`train`、`test` 和 `random`
my_dataset_repository/
├── README.md
└── data/
├── train-00000-of-00003.csv
├── train-00001-of-00003.csv
├── train-00002-of-00003.csv
├── test-00000-of-00001.csv
├── random-00000-of-00003.csv
├── random-00001-of-00003.csv
└── random-00002-of-00003.csv