C.W.K.
Stream
Lesson 06 of 08 · published

로컬 파일에서 커스텀 데이터셋

~24 min · datasets, custom

Level 0스카우트
0 XP0/50 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

built-in 로더가 로컬 케이스 대부분 cover

로컬 파일엔 이제 로딩 스크립트 거의 필요 없어. named 로더 "json", "csv", "parquet", "text", "imagefolder", "audiofolder" 가 흔한 모양 처리. data_files 를 string, list, 또는 split-keyed dict 로 넘김.

imagefolder / audiofolder 컨벤션

imagefolder{root}/{class_name}/{file} 찾고 폴더 이름에서 label inferr. 파일 옆에 metadata.jsonl 또는 metadata.csv 두면 추가 컬럼 (caption, bounding box, transcription) attach.

Dataset.from_dict / from_list / from_pandas

프로그래매틱 생성엔 Dataset.from_dict({...}) 가 컬럼 리스트 받고; Dataset.from_list([{...}, ...]) 가 행 dict 받고; Dataset.from_pandas(df) 가 DataFrame wrap. 셋 다 단일 Dataset 돌려줌; DatasetDict({"train": ..., "test": ...}) 로 combine.

Code

named split 의 로컬 CSV·python
from datasets import load_dataset

# 각 path 를 split 처럼
data_files = {
    "train": "data/train.csv",
    "validation": "data/dev.csv",
    "test": "data/test.csv",
}
ds = load_dataset("csv", data_files=data_files)
print(ds)
in-memory 행에서 Dataset 빌드·python
from datasets import Dataset, DatasetDict

rows = [
    {"prompt": "Hello", "completion": "Hi there"},
    {"prompt": "How are you?", "completion": "I'm doing well"},
]
train = Dataset.from_list(rows)

# split 여러 개면 DatasetDict 로 wrap
ddict = DatasetDict({"train": train})

# 이제 Hub 데이터셋처럼 사용 가능
ddict.push_to_hub("yourname/scratch-prompts", private=True)
imagefolder 컨벤션·python
# 디스크 폴더 구조:
# imgs/train/cat/001.jpg
# imgs/train/dog/001.jpg
# imgs/val/cat/001.jpg
# imgs/val/dog/001.jpg

from datasets import load_dataset
ds = load_dataset("imagefolder", data_dir="imgs")
print(ds["train"].features)  # {'image': Image(...), 'label': ClassLabel(...)}

External links

Exercise

작은 챗 데이터셋 (10-20 prompt/completion pair) 을 JSONL 로 빌드. load_dataset('json', data_files=...) 로 로드. push_to_hub 로 private Hub 레포에 push. 데이터셋 카드의 viewer 에서 컬럼 맞는지 검증.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.