Hub documentation

ファイル名とスプリット

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

ファイル名とスプリット

データセットをホストして共有するには、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.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のように指定できます。

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
Update on GitHub