Hub documentation
ファイル名とスプリット
ファイル名とスプリット
データセットをホストして共有するには、Hugging Face Hub上でデータセットのリポジトリを作成し、データファイルをアップロードします。
このガイドでは、データセットリポジトリをアップロードする際にファイルとディレクトリをどのように命名するか、およびDataset ViewerなどのDatasets Hubのすべての機能を有効にする方法について説明します。詳細については、サンプルデータセットの関連コレクションを参照してください。
サポートされている構造とファイル形式を持つデータセットは、Hub上のそのページに自動的にデータセットビューアが表示されます。
以下のいずれの構造もあなたのケースに当てはまらない場合は、Manual Configuration を使用して、スプリットやサブセットの定義方法をより詳細に制御できます。
基本的なユースケース
データセットがtrain/validation/testの分割されていない場合、最もシンプルなデータセットの構成は、1つのファイル、data.csvを持つことです(これはサポートされているファイル形式やファイル名であれば何でも動作します)。
リポジトリには、README.mdファイルも含まれます。これは、データセットページに表示されるデータセットカードです。
my_dataset_repository/
├── README.md
└── data.csv分割
データセットリポジトリ内の一部のパターンを使用して、特定のファイルをtrain/validation/testの分割に割り当てることができます。
ファイル名
データファイルには、train、test、validationの各スプリットの名前を付けることができます:
my_dataset_repository/
├── README.md
├── train.csv
├── test.csv
└── validation.csv非伝統的な分割がない場合、分割名はデータファイル内のどこに配置しても構いません。唯一のルールは、分割名が非単語文字で区切られていることです。例えば、testfile.csv ではなく test-file.csv のようにします。サポートされている区切り文字には、アンダースコア、ダッシュ、スペース、ドット、数字が含まれます。
例えば、次のようなファイル名はすべて許可されます。
- train分割:
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キーワード
train/validation/test スプリットを指す方法はいくつかあります。validation スプリットは「dev」と呼ばれることもあれば、test スプリットは「eval」と呼ばれることもあります。 これらの他のスプリット名もサポートされており、以下のキーワードは同等です。
- train, training
- 検証、有効、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.csvtrainセットのすべてのファイル名に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のように指定できます。
3つのスプリット、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