Datasets 시작하기
Datasets 시작하기
Datasets(🤗 Datasets)는 Hub의 수십만 개 데이터셋을 파이썬으로 쉽게 불러오고 처리하게 해주는 라이브러리예요. NumPy·Pandas처럼 익숙한 인터페이스로 데이터를 다루면서도, 대용량 데이터를 메모리 효율적으로 처리할 수 있는 게 강점이에요. 따라서 자연어 처리·컴퓨터 비전·오디오 등 다양한 작업의 데이터 파이프라인에 널리 쓰여요.
가장 기본적인 사용은 load_dataset()에 데이터셋 이름을 넘기는 거예요.
from datasets import load_dataset
dataset = load_dataset("stanfordnlp/imdb", split="train")
print(dataset)
핵심 개념
- Dataset: 단일 분할(split)의 데이터 테이블.
- DatasetDict: train·test 같은 여러 분할을 담는 딕셔너리.
- IterableDataset: 스트리밍으로 큰 데이터셋을 메모리 걱정 없이 읽는 방식.
- Features: 컬럼의 스키마(텍스트, 라벨, 이미지, 오디오 등).
불러오기와 탐색
Hub에서 데이터셋을 불러오려면 id를 넘기면 돼요. 분할을 지정하면 Dataset 객체가, 안 하면 DatasetDict가 돌아와요. load_dataset_builder()로 전체를 다운로드하지 않고도 데이터셋의 설명·특징을 먼저 확인할 수 있어요.
from datasets import get_dataset_split_names
get_dataset_split_names("cornell-movie-review-data/rotten_tomatoes")
# ['train', 'validation', 'test']
처리와 저장
Datasets는 정렬·셔플·필터·열 조작·형변환·결합·내보내기 등 다양한 처리 도구를 제공해요. 처리한 데이터셋은 Parquet로 Hub에 올리거나(push_to_hub) Arrow 포맷으로 로컬 디스크에 저장할 수 있어요(save_to_disk). 세부 내용은 process 문서에서 다뤄요.
왜 Datasets인가
- 브라우저에서 다운로드 없이 데이터 탐색.
- 실제 사용 전에 메타데이터·스키마를 미리 확인.
- 대용량 데이터를 스트리밍으로 효율 처리.
- Hub와의 원활한 업로드·다운로드 통합.
더 알아보기
- Hub에서 불러오기: Load from Hub
- 처리: Process
- 퀵스타트: Quickstart