파일 이름과 스플릿

파일 이름과 스플릿

데이터셋을 호스팅·공유하려면 Hugging Face Hub에 데이터셋 저장소를 만들고 데이터 파일을 업로드하세요.

출처: 문서

본문

이 가이드는 데이터셋 저장소를 업로드할 때 파일과 디렉터리 이름을 어떻게 정하고 Dataset Viewer 같은 모든 Datasets Hub 기능을 켜는지 보여줘요. 자세한 내용은 예제 데이터셋 동반 컬렉션을 참고하세요.

지원되는 구조와 파일 형식의 데이터셋은 Hub 페이지에 자동으로 데이터셋 뷰어가 있어요.

아래 구조 중 어느 것도 맞지 않으면 Manual Configuration으로 스플릿·서브셋 정의를 더 제어할 수 있어요.

기본 사용 사례

데이터셋이 train/validation/test 스플릿으로 나뉘지 않았다면, 가장 간단한 구조는 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 스플릿: validation.csv, my_validation_file.csv, validation1.csv
  • test 스플릿: 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
  • 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

더 알아보기 (Learn more)