===================================
목표
어제 못했던 앙상블 해보기
==================================
행동
어제 mask, gender, age 각각의 모델에 대한 학습을 다 하고, 각 모델에 eval data 를 통과시켜 나온 결과를 합쳐 최종 결과를 내는 걸 만들었다. 결과는 실망스러웠다. 단일 모델로 했을 때보다 결과가 안 나왔기 때문이다.
age는 원래 딱 60살만 2 label을 가지지만 59살 이상을 2label로 가지게 했을 때 결과가 잘 나왔다. 또 epoch를 많이 돌리고 val loss와 val acc에 변화가 없어서 overfitting이라고 생각했지만 내가 overfitting이라고 생각한 checkpoint를 넣고 돌리면 결과가 더 잘 나왔다. 즉 학습을 엄청 많이 하는게 장땡인 것이다. 이거 말고 평소에 다른거 할 땐 언제나 overfitting이 일어나서 좀 낮은 epoch를 했어야 했는데 의외였다.
그래서 learning rate 도 처음부터 1e-5로 시작하고 lr이 줄어드는 step 조건도 줄이면서 진짜 진짜 val과 train에 변화가 없을 때 끝내고 있다. 또 loss가 acc이 목적이 아니라 f1 loss가 목적이 되었다는 것을 생각하며 모든 모델을 f1 loss로 학습시키고 있다. 어떻게 될 지는 잘 모르겠다.
==================================
회고
처음부터 앙상블로 시작했으면 작업시간이 줄어들었을 것 같긴 하다. 그래도 처음이라 notebook으로 작성한걸 py로 바꾸고, 단일 모델로 된걸 앙상블로 바꾸고 그 와중에 GPU memory out같은 오류 등을 겪었다. 이제 인지했고 이게 어떻게 보면 baseline code를 만드는 과정이었으니까 다음에 할 땐 괜찮아 질지도 모르겠다.
'과거의 것들 > AI Tech boostcamp' 카테고리의 다른 글
P-stage2대비 wandb (0) | 2021.11.28 |
---|---|
P-stage 1 마지막 정리 (0) | 2021.11.28 |
AITech P-stage1 [Day 7] 단일 모델 실험 끝, 앙상블 실험중.. (0) | 2021.11.28 |
AITech P-stage1 [Day 6] 데이터 시각화, 아직 python IDLE로 만드는 중.. (0) | 2021.11.28 |
AITech P-stage1 [Day 5] (0) | 2021.11.28 |