좋은 모델도 중요하지만,
큰 데이터를 어떻게 로드하고 처리할 것인가? 역시 중요한 이슈이다.
Dataset API를 어떻게 사용하고, Data를 모델에 어떻게 feeding하는지에 대해 알아보자!
데이터 입력 형태를 정의하는 클래스
데이터 입력하는 방식을 표준화함
데이터 종류, 문제 종류에 따라 알맞게 정의함.
getitem함수를 보면 dict 타입으로 반환하는데,
일반적인 classification 문제에서는 dict로 반환한다.
문제 종류에 따라 커스텀 한다.
데이터 형태에 따라 각 함수를 다르게 정의해야 한다. (Detail한 부분은 숙제 참고..!)
모든 것을 데이터 생성 시점 (init)에서 처리할 필요는 없음.
image를 Tensor로 변화하는 것은 필요한 시점에 하면 된다.
Example)
getitem을 할 때,
병렬화가 가능하다!
Data의 Batch를 생성해주는 클래스
Data를 한 뭉탱이로 묶어서 Model로 Feeding해줌.
학습 직전에 Batch할 때 필요한 모양으로 데이터를 변환하는 역할을 한다.
Tensor로 변환 + Batch 처리.
병렬적인 데이터 전처리를 위한 고민을 해야한다. 시간절약!
sampler는 Data를 어떻게 뽑을것인지 정하는 것.
📍collate_fn: FURTHER STUDY📍 왜 쓰는지를 알면 아주 유용하다고.. 숙제 코드 참고하고 정리하기.