sujeongim.log
로그인
sujeongim.log
로그인
[AI Competition Tutorial] Data Generation
임수정
·
2022년 2월 22일
팔로우
0
AI Competition Tutorial
부스트캠프 AI Tech 3기
AI Competition
목록 보기
3/10
Data Generation
Overview
데이터셋을 잘 구성했다고 해도, 잘 출력해야만 실속이 있다.
데이터를 잘 만들어준다는 것..?? => Data Feeding!
Data feeding
데이터를 잘 만들어서 모델에 주는 것이기 때문에 Data Feeding이라는 표현이 의미적으로 맞는 것 같다.
먹이를 주다(feed) = 대상의 상태를 고려해서 적정한 양을 준다
어떤 제품을 만드는 공장이 있다고 생각해보자
설계, 제작, 포장
생산량을 늘리려면..?
=> 제작만 늘어나면 되나?
=> no, 한 단계만 늘린다고해서 전체 생산량이 늘지는 않는다
혹시, 모델 학습을 할 때 비슷한 오류를 범하고 있지는 않을까?
아래와 같은 경우, Data Generator나 Model 부분을 조절하지 않으면 최대 효율을 내기 힘들다.
하지만 Model의 효율을 높이려면 결국 GPU를 바꿔야 하므로 쉽지 않다.
따라서 모델의 처리량 만큼 Data Generating을 할 수 있는지가 가장 중요한 관건이다.
모델학습을 진행할 때, 데이터를 만들어내는 generator의 성능이 얼마정도 되고, bench marking했을 때 얼마정도 나오는지 확인하자.
torch.utils.data
Dataset
Vanilla Data를 Dataset으로 변환하는 기능
Dataset 구조
복습 : Python Class
__init__, __getitem__, __len__사용
DataLoader
만든 Dataset을 효율적으로 사용할 수 있도록 추가된 기능
PyTorch DataLoader는 기능이 엄청 많다
shuffle, collate_fn, sampler 등등..
간단한 실험: num_workers
Dataset과 DataLoader는 분리되는 것이 좋다.
Dataset과 DataLoader는 엄연히 하는 일이 다르다.
Dataset : Vanilla 데이터를 원하는 형탵로 출력해주는 클래스
DataLoader : Dataset을 더 효율적으로 사용하기 위함
두 개를 분리해두면 DataLoader는 한 개만 만들고 재사용이 가능해짐
Special Mission
주어진 바닐라 데이터를 가지고 이미지와 해당하는 클래스 Label (18개의 클래스 중 하나)을 생성할 수 있는 Pytorch Dataset Class를 직접 생성해보기
torchvision에 내장된 여러 Augmentation 함수와 albumentation 라이브러리의 여러 transform 기법을 적용해보기, 적용해 본 뒤에 실제로 어떻게 변환되어 나오는지 확인하기. (아마 plot형태로 그려서 확인해야 할 것)
그리고 이러한 Transforms를 추가한 Dataset이 과연 어느 정도의 성능을 가지는지 체크하기.
혹여 너무 무거운 프로세스라면 생각보다 느리게 동작하겠죠?
Further Reading
파이토치 공식 Dataset Docs :
https://pytorch.org/docs/stable/data.html
Dataset, DataLoader Tutorials :
https://pytorch.org/tutorials/beginner/data_loading_tutorial.html
Data Augmentation 에 도움을 줄 수 있는 다양한 라이브러리
Albumentatons
imgaug
catalyst
파이토치 위에서 다양한 기능을 제공하는 라이브러리
기본 데이터셋 기능을 넘어서 balanced batch sampler와 같은 API를 제공하는 라이브러리
PyTorch Custom Dataset Examples
:
다양한 커스텀 데이터셋 예제를 확인
임수정
유쾌하게, 열정적으로, 진심을 다해
팔로우
이전 포스트
[AI Competition Tutorial] Image Classification & EDA
다음 포스트
[AI Competition Tutorial] Model
0개의 댓글
댓글 작성