Overview 꼭 보기
- Problem Definition
- 풀어야 할 문제 정의
- input, output 정의
- 사용처
EDA
- Exploratory Data Analysis
- 데이터를 이해하기
- 어떤 방식으로든 해보기
Image Classification
- Image - (width, height, channel), unsigned int 8
Dataset
- vanilla data -> dataset
- Bounding box
- Resize
- Generalization
- bias & variance
- train & validation
- data augmentation - 도메인에 적절하게
- torchvision.transforms
- Albumentations
Data Generation
- data feeding
- 상황에 맞게 줘야함
- transforms.compose 순서도 튜닝
- torch.utils.data
- Dataset - (__init__, __getitem__, __len__)
- DataLoader
Model
- Pytorch - low-level, pythonic, flexibility
- 모든 layer는 nn.Module을 상속
- module, forward, state_dict(), parameters()
Training & Inference
- Loss
- Optimizer
- Metric
- Process
- model.train()
- optimizer.zero_grad()
- loss = criterion(output, label)
- loss = backword()
- optimizer.step()
- Inference
- model.eval()
- with torch.no_grad():
- Pytorch Lightning
- pytorch 코드 간략화
Ensemble
- Stratified K-fold cross validation
- test time augmentation
- test time에서 출력된 결과를 ensemble
- hyper parameter opt
Experiment Toolkits & Tips
- Training Visualization
- Tensorboard
- --logdir PATH --host ADDR --port PORT
- Tensorboard
- wandb
- wandb.init(config={})
- Jupyter notebook
- 학습 도중 꺼지면 복구 불가능
- Python IDLE
- 프로젝트 형태로 실행 편안