boostcampaitech2 / image-classification-level1-04

Image classification of mask wearing status
MIT License
4 stars 1 forks source link

210826 멘토님 질문 리스트 #14

Open KimDaeUng opened 3 years ago

KimDaeUng commented 3 years ago

210826 멘토님 질문 리스트


Data

Etc.

실험관리

hylee-250 commented 3 years ago

-------------------------------------------Data Augmentation-----------------------------------------

----------------------------------------------ERROR----------------------------------------------------

--------------------------------------------- P stage ---------------------------------------------------

nayohan commented 3 years ago

DataAugmentation

  1. Normalize 시각화시에 range에 대해서 [0~255] [0~1]범위를 넘어가게 되는데 괜찮은 건지?? 데이터문제는 없는 건가요?

    • 네,괜찮습니다. 학습시키는 용도로 Normalize를 하는 것이고, 만약 다시 시각화를 하고 싶으면 UnNormalize하면 됩니다.
  2. Resize후에 RandomCrop을 하게 되면 데이터의 일부분만 학습을 하지만 여러번 반복수행하면 결국, 원본데이터를 본것과 효과가 같지 않을까요? 데이터의 양이 늘어난거라고 생각을 해도 되는건지 궁금합니다.

    A.Compose([
      A.Resize(512, 512),
      A.RandomCrop(384, 384),
      A.HorizontalFlip(p=0.5),
      A.Normalize(mean=MEAN,std=STD),
      ToTensorV2(),
    ])
    • 네. 데이터 질은 조금 부족할 수 있지만, 양은 늘어났다고는 말해줄 수 있을거 같습니다.
  3. 384,224이미지사이즈가 모델에 적용될때 데이터가 크다는게 의미가 있을까요?

    • 이미지 사이즈가 커질수록 특징벡터를 많이 뽑아낼수 있습니다. CNN의 기본적인 역할을 feature extract인데 이미지 사이즈가 클수록 더 많이 뽑아 낼수 있습니다. -> 이미지사이즈 별로 모델을 적용후 앙상블하면 효과있을것
  4. 라이브러리 Docs편하게 읽는 방법..?

    • Vscode에서 Ctrl을 누르고 라이브러리를 클릭하면, 내부에 import되어 있는 기능들을 볼수 있습니다. 해당 기능을 통해 API에서는 A.transforms.utli이렇게 되어 있더라도, A.CutOut이렇게 쉽게 사용할수 있습니다.
    • Reference를 볼때 return값을 먼저 살펴보고, parameter를 보면 빠르게 이해할수 있다.
  5. Albumentation내에 없는 기능을 직접 적용하기 위한 방법..?

    • 한정된 시간 내에 scoring이 목표라면, 기존에 구현되어 있는 방법을 가지고 빠르게 구현하는게 중요합니다. 코드 직접작성을 시도해보는 것도 좋지만 우선은 쉽게 구현가능한 범위에서 먼저 해결해보고, 시간이 남는다면 구현을 해보는 것도 좋을것 같습니다.

Tips

  1. Scoring

    • ValidSet 비율을 나중에는 0으로 만들어 학습 진행하면 성능을 좀더 올릴수 있습니다. K-Fold활용하면 굿!
    • Ensemble모델을 만들때 작고, 큰모델을 섞어서 Ensemble하면 효과!
    • EarlyStopping하더라도 이미 적합 후 몇 Step이 진행된것이므로 valid_loss가 다시 올라가기전 epoch활용
    • Augment기법 중 자주 쓰이는것 적용, 데이콘 (ColorJitter, RandomCrop, Resize, Flip, Rotation)
  2. Problem&Solving

    • 프로젝트마다 본인이 해결했던 Problem과 Solving을 잘 정리해둘것, 프로젝트당 P&S가 한두개라도 있으면 나중에 큰 도움이 됌
wlsl8135 commented 3 years ago

MultiModel

  1. 현재 모델을 하나씩 학습 중인데, 학습 시간이 오래 걸립니다. 모델들의 입력과 파라미터가 각각 다른데 한번에 실행할 방법이 있을까요?
  2. 나이 데이터의 경우 아래와 같이 주름이 잘보이게만 augmentation을 진행하고 싶습니다. 이 기능이 CV2에만 있어서 모든 데이터가 흑백으로 전달되면 정보 소실이 있을까 걱정됩니다. Custom augment를 진행해야할까요?
  3. 모델들의 ckpt가 각각 생길텐데, 이를 잘 조합해서 eval을 제출해야 하는데 문제가 없을까요?
KimDaeUng commented 3 years ago

Data

질문 1. 육안상으로 보이는 이미지가 납득이 가지 않아도 Augmentation 기법을 쓸 수 있는지?

질문 2. Mean, Std Normalize 값은 데이터 기준? 모델 기준?

Model

질문 3. pretrianed model 사용시 fine-tuning 적용 여부 판단

Etc.

질문 4. 경로설정

질문 5. GPU memory가 실험이 끝나도 계속 남아있는 경우, 어떻게 리셋하나요?

실험관리

질문 6. Weghts & Biases 실험 관리를 팀 단위로 공유할 수 있나요?

Oversampling & Class weight 조합 실험