
466
2
fastai 애플리케이션 계층 이해하기
dls = dsets.dataloaders(bs=64, before_batch=pad_input)
dataloaders
메서드는
Datasets
각 부분의
DataLoader
를 호출합니다. 파이토치의 동명 클
래스를 확장한
fastai
의
DataLoader
는 데이터셋에 포함된 데이터를 배치 형태로 끼워 맞추는
역할을 합니다. 그 과정에는 사용자가 정의할 수 있는 부분이 많은데, 특히 다음과 같은 부분이
중요합니다.
●
after_item
데이터셋의 개별 데이터에 접근할 때 적용됩니다. 데이터블록의
item_tfms
와 같습니다.
●
before_batch
데이터가 배치 단위로 짜 맞춰지기 전에 적용됩니다. 각 데이터에 패딩을 적용해 모두 같은 크기로 만들
어주기에 이상적인 시점이죠.
●
after_batch
배치가 만들어진 후 해당 배치에 적용됩니다. 데이터블록의
batch_tfms
와 같습니다.
결론적으로 텍스트 분류용 데이터를 준비하는 데 필요한 전체 코드는 다음과 같습니다.
tfms = [[Tokenizer.from_folder(path), Numericalize], [parent_label, Categorize]]
files = get_text_files(path, folders ...