1. 프로젝트 이슈 정리
1. 서버 하나에 여러 팀원들이 작업하다 보니 git commit 할 때 처음 git 을 연동시킨 팀원분의 계정으로 계속 commit이 올라가는 이슈가 있었다. 찾아보다가 공동 작업자로 커밋하는걸 알게 되었다.
커밋 메세지
Co-authored-by: 깃헙핸들명 <깃헙주소>
커밋 메세지와 Co-authored-by 사이에 줄바꿈이 2번 들어가야한다. 저렇게 해서 커밋하면 내 아이디로 깃허브에 기록이 남게된다.
2. gpu 사용량 볼 때 : nvidia-smi, 실행 중인 python 프로세스 확인 할 때 : ps aux | grep python
2. 프로젝트 개인 회고
프로젝트를 하면서 가장 기억에 남는 점을 중심으로 작성해보겠다.
1. cutmix 구현
cutmix 증강기법을 활용하여 코드를 작성하였는데 처음에는 기존 데이터셋을 이용해서 한 이미지와 랜덤하게 고른 다른 이미지를 적용하여 새로운 데이터셋을 만드는 class 를 만들었다. 그래서 train, val 로 나누고 train dataset을 다시 cutmix 적용해서 cutmix_dataset 을 만들고 train + cutmix_dataset 을 새로운 train 데이터셋으로 만들었다. 이렇게 하다보니 연산량도 많아지고 한 번에 처리해야할 양이 많아지면서 한 에폭당 40분 넘게 걸리는 시간이 소요됐다. 그래서 두 번째 방법으로는, 일반적으로 많이 사용되는 배치사이즈만큼 train loader에서 학습할 때 cutmix 가 적용되게끔 하였는데 이렇게 했더니 cuda memory 용량이 제한적이었다. 그래서 32 배치사이즈로 돌리는 한계가 있었지만, 에폭 시간은 15분 내외로 확실히 줄었다.
그리고 다른 팀들도 cutmix 적용했다는 것을 보면서 cutmix 기법 안에도 파라미터가 존재하는데 파라미터별 학습을 하지 못했다는 아쉬움을 가졌다. crop 되는 영역을 제한 없이 그대로 random 하게 선택한 것이 아쉬움이 남는다.
2. 코드 리팩토링
처음에 주어진 베이스라인이 notebook 파일이라 python 파일로 바꾸면서 리팩토링 작업을 하였는데, main 코드를 계속 수정하면서 모듈화를 시키지 못해 결국 안 한 만도 못한 .. 결과가 나타났다. 물론 보기에는 깔끔했는데 중간중간 업데이트를 하지 못하니 어수선한 느낌을 받았다.
3. 시각화 툴 사용
팀 내 다른 팀원분이 완디비를 사용해서 정확도나 loss 값들을 모델별 그래프로 시각화한 것을 봤는데 너무 깔끔해 보이고 한 눈에 보기 쉬웠던 것 같다. 그래서 주말동안 사용해보려고 한다. 파라미터 뿐만 아니라 모델 내 layer 차원에서 시각화를 못했던 점이 아쉬웠다. grad cam 사용해서 어떤 부분에 attention이 가해지는지 보면 조금 더 방향성을 잡았을 것 같다.
4. 모델 리서치의 중요성
단순히 CNN 모델 + Transformer 모델 기준으로 생각했는데 SOTA에 올라간 모델을 찾아봐야한다는 생각까지 미처 하지 못했다. 상위권 팀들의 모델이 대부분 eva 라는 것을 보면서 모델 리서치에 조금 더 시간을 투자할걸 이라는 생각이 들었다.
'AI Tech 7기 > 회고록' 카테고리의 다른 글
[14주차] 회고록 (0) | 2024.11.22 |
---|---|
[6주차] 회고록 (1) | 2024.09.13 |
[4주차] 회고록 (0) | 2024.08.30 |
[3주차] 회고록 (1) | 2024.08.25 |
[2주차] 회고록 (0) | 2024.08.16 |