본문 바로가기

부스트캠프 AI Tech/Competition

Competition

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
  • wandb
    • wandb.init(config={})
  • Jupyter notebook
    • 학습 도중 꺼지면 복구 불가능
  • Python IDLE
    • 프로젝트 형태로 실행 편안