Week7 Review


P-Stage 회고

1. P Stage 동안 진행 한 일

  • Pytorch Lightning을 이용한 베이스 라인 코드를 작성하였다. Yaml파일을 이용하여 빠르게 Hyperparameter와 모델을 수정 할 수 있도록 코드를 설계했고, 이 코드를 바탕으로 팀에서 많은 실험을 할 수 있었다.
  • 하나의 Task를 분리하는 가설을 세우고 검증하였다. 마스크, 성별, 나이 3가지를 한 모델로 판단하는 것보다 3개의 모델로 3가지를 따로 판단하는 것이 더 학습시키기 용이하다고 생각하였다. 동일 모델 동일 Hyperparameter를 가지고 Target Label만 바꿔서 학습을 시켰을 때 약 0.01의 스코어 상승이 있었다.
  • Soft Voting 구현을 하였다. 최종 제출을 앞두고 Soft Voting 을 구현하여 0.015정도의 스코어 상승을 실현했다.
  • Gradient Cam Module을 코드에 사용할 수 있게 적용하였다. 이를 통하여 일부 모델이 예측할 때 강한 옷의 무늬나 배경이 영향을 준다는것을 확인하였다.
  • 베이스라인 코드에 Layer Freeze 기능 추가. 학습이 진행되면서 Loss값이 증가하는것을 확인하고 이를 방지하기 위해 특정 Epoch가 지나면 자동으로 Layer를 Freeze 하도록 코드를 수정하였다.

2. 한계 및 아쉬웠던 점

  • 시간상의 제약으로 여러가지 실험을 진행하지 못한 가설들이 여러가지 있어서 많이 아쉬웠다
    • mean variance loss를 이용한 Regression Model로 나이 예측
    • 추가적인 데이터 전처리 (배경 제거, 학습시킨 모델을 이용한 이상치 제거)
  • SOLID 원칙을 일부 지키지 않아 코드의 재사용성이 조금 떨어져서 기능을 추가할 때 고쳐야할 코드가 많아지고 이때문에 시간이 더 소요되었다
  • 협업 툴을 사용하긴 했으나 제대로 활용되지 않아서 아쉬웠다.

3. 다음 프로젝트 위해 해보고 싶은 것

  • 여유를 가지고 프로젝트에 임하기 위해서 자신만의 유연한 베이스라인 코드를 완성시키고 싶다
  • 협업 툴 사용이 미숙하여 체계적으로 협업을 진행하지 못한것에 대해서 아쉬움이 남아 미리 팀 룰을 정하고 체계적으로 역할을 분담하여 진행해보자 한다

4. 느낀점

  • 2주동안 진행되었던 P-Stage가 끝나고 기존 팀원들과 흩어지고 새로운 팀으로 이동하게 되었는데 아쉽기도 하면서 기대되기도 한다.
  • 급하게 하다보니 시간이 많이 부족했었다. 아직 Pythonic하지 못한 듯 하다. 더 노력해야지

Week6 - Day5 Review


1. 오늘 한 것

  • P-Stage
    • ipynb파일로 구현한 Baseline Code를 분리 및 모듈화
    • GradCam이 코드에 적용되도록 구현

2. 피어세션에서 한 것

  • mask RCNN 논문 리뷰

3. 주말 할 일

  • 베이스라인 코드를 가지고 가설검증(주말내에 끝내기)
  • 실험 정리

4. 하루 느낀점

  • 하루종일 코드만 보고있어서 조금 지친 하루가 된것 같다
  • level2에서 같이 팀을 하자고 연락이 온 캠퍼들과 이야기를 나누었는데 긴장되어 보였다

5. 미세한 팁

  • pyyaml로 yaml파일을 불러올때 1e5같은 형식의 수치는 str형으로 받아온다
  • 이때 float형으로 받고 싶으면 1.0e5같이 쓰면 된다
  • Linear scaling role
    • 배치사이즈와 비례해서 lr을 움직여야 한다

Week6 - Day4 Review


1. 오늘 한 것

  • P-Stage
    • Baseline code 추가수정
    • Grad cam 코드 구현

2. 피어세션에서 한 것

  • P-Stage
    • 팀원들에게 Baseline코드 설명

3. 내일 할 일

  • ipynb 파일을 Python IDE로 변환

4. 하루 느낀점

  • 하루종일 코드만 보고있어서 조금 지친 하루가 된것 같다
  • level2에서 같이 팀을 하자고 연락이 온 캠퍼들과 이야기를 나누었는데 긴장되어 보였다

Week6 - Day3 Review


1. 오늘 한 것

  • P-Stage
    • 기존의 CV score와 LB score간의 차이가 큰점을 해결하기 위해 베이스라인 코드를 수정하였다
  • Kaggle Study
    • House Price Dataset에 관한 EDA 발표
      • 화장실에 대한 고찰
      • Data Descript.txt를 읽고 데이터에 대한 고찰

2. 피어세션에서 한 것

  • P-Stage
    • 팀원들과 여러가지 가설을 세워보았다
    • Data Agument를 위한 Transform 선택
    • Face Crop
    • Model Design

3. 내일 할 일

  • 가설 검증을 위한 코드 제작

4. 하루 느낀점

  • House price 데이터가 column이 많아서 다시 봐도 헛갈린다
  • 스터디를 마치고 김태진 마스터님이 좋은 말씀을 많이 해주셨다
    • 역시 즐겁게 해야 오래 할 수 있다

Week6 - Day1 Review


1. 오늘 한 것

  • 강의
    • 1~6강
  • P-Stage
    • EDA
    • Dataset 코드 작성
    • Solution에 필요한 논문탐색

2. 피어세션에서 한 것

  • P-Stage가 시작해서 팀원들과 어떤방식으로 진행해야할지 대해서 의논하였다

3. 내일 할 일

  • Pytorch Lightning base코드 작성
  • 일부 모델 구성 생각

4. 하루 느낀점

  • 드디어 P-Stage가 시작하였다. 열심히 진행해서 좋은 결과를 내면 좋겠다.