# 210827 피어세션 & 팀 회고
## 피어세션
- AI stage 주피터 서버 접속 안되는 문제
- random split을 하면 안될 거 같다.
- 목록에서 미리 폴더를 나눠야될 거 같다(사람으로 나눠야 될 거 같다)
- 총 2700명의 사람을 train : val = 2160 : 540 => Stratified K-Fold Cross Validation 과 비슷하지만 K-Fold가 포함안됨
- 나이랑 gender를 고려해야하는데 random으로 하면 상관없을 듯?
- validation에서 crop해도 사용 없을 듯
- 같은 사람의 폴더 내에 축적한 경우 상관 없다.
- 데이터가 불균형함
- FocalLoss 사용한다.
- 데이터의 비율을 맞춰주기 위해 데이터를 augmentation해서 비율을 미리 맞춘다.
- Transforms Or Albumentations
- 가우시안 노이즈는 albumentations 만 있다.
- 아마 Albumentations을 사용할 듯 : 기능이 더 많다.
- 주말까지 각자 하고, 월요일 부터는 두 팀으로 나누자
- 대회 우선? 학습 우선?
- 무엇을 우선을 하든 목표는 같다.
- 다음 스테이지를 가기전에 딥러닝 과정을 제대로 공부하고 가자
## 다음 주 할 일
- 그룹으로 나누어서 실험 진행
- Wrap up 리포트 쓰기가 수월해진다.
- 여러 실험 진행하기
- 진행하면서 Wrap 리포트 병행
- 잘 먹고 잘 자자
## 활동 점수 (100점 만점)
- T2001_강석민: (60점) 서버 내놔...
- T2007_고지호: (40점) 서버도 내놓고 코드도 더 주세요...
- T2065_김태욱: (70점) 리더보드 점수만큼 올리겠습니다...
- T2066_김태현: (60점) 되는데 왜 되는지 모르겠어..
- T2143_윤종원: (40점) 할 것, 해볼껀 많은데 생산이 안되네
- T2214_조준희: (60점) 제출 많이 못해봤네...
- T2249_오하은: (60점) 그래도 한번 제출 해봤다
## 타임라인 08/23 ~ 08/27
- 08/23 : P스테이지 시작, SSH 설정 및 EDA
- 08/24 : DataSet, DataLoader 구현
- 08/25 : Train Model 구현
- 08/26 : Train 시작
- 08/27 : 앙상블 및 데이터셋 토론
## (+)잘했던것, 좋았던것, 계속할것
- 다들 한번씩 제출했다
- 학습 정리를 병행하며 실습하였다.
- 쉬운 대회를 통해서 직접 파이토치를 경험하는 계기가 되었다.
- 파이썬 백그라운드 실행 파일을 구현했다.
## (-)잘못했던것, 아쉬운것, 부족한것 -> 개선방향
- 데이터 시각화 강의에 비중을 많이 두지 못했다. 딥러닝 꿀잼..
- 베이스코드가 제공되어서 깊게 파고들지 못한 점
## (!)도전할 것, 시도할 것
### 매일 한번씩 제출하기
- [ ] T2001_강석민
- [ ] T2007_고지호
- [x] T2065_김태욱
- [ ] T2066_김태현
- [ ] T2143_윤종원
- [x] T2214_조준희
- [ ] T2249_오하은
- 12시 이후에는 체크 안 한 사람거 사용 가능!?
## (-)키워드(공부한 것,알게된 것, 느낀 점)
- K-Fold
- Augmentation
- Albumentation
- 앙상블
## 앞으로 시도할 것
- [ ] 클래스 비율에 맞춰서 사람별로 train, validation set 나누기
- dataloader에 shuffle을 false로 해두고 for구문 돌릴대 index를 통해서 하면 좋지않을까? 1번트레인
- 예를들어 1번째는 i: 0~3000까지 Validation, 2번째는 i: 3001~6000 등
- [ ] transform -> albumentation
- [ ] k-fold 구현하기?
- [pytorch + sklearn](https://www.machinecurve.com/index.php/2021/02/03/how-to-use-k-fold-cross-validation-with-pytorch/) => K-fold, Stratified K-Fold 두개 다 있는 듯합니다 👍
- [ ] GPU 효율적으로 코드 짜보기?
- [ ] EfficientNet 이외에 다른 좋은 모델 가져오기?
- [ ] 혹은 지금 모델을 fine tuning 해보기?
- [ ] ensemble 도전해보기?
- [ ] 분산컴퓨팅 흉내내서 각자 작은 모델 적합시켜서 합쳐보는건 어떨까요ㅋㅋ
## 실험목록
- Label smoothing, Focal Loss, F1 Loss 비교
- Gradient Accumulation 적용 전후 비교
- StepLR, CosineAnnealingLR, ReduceLROnPlateau 스케쥴러 비교
- 모델바꿔가며 비교
- augmentation기법 넣고 빼가며 비교
- Test Time Augmentation 적용 전후 비교