Week 4 - 8/26 목, P stage 4일차 학습 정리

이호영·2021년 8월 26일
0

Boostcamp AI Tech 2기

목록 보기
2/32

강의 복습 내용

과제 수행 과정 / 결과물 정리

Issue

test.py 실행 방법: python3 test.py [saved/model/*.pth] -c config.json

  • test.py 실행 시 에러 발생
    RuntimeError: DataLoader worker (pid(s) 32014) exited unexpectedly
    -> num_workers를 config.json과 test.py에서 1로 변경
    해결 완료

  • DenseNet161 train 시 문제 발생
    RuntimeError: Unable to find a valid cuDNN algorithm to run convolution
    -> batch_size를 64에서 32로 변경, 학습 속도는 줄어듦
    해결완료

  • DenseNet161 train.py train 발생 error
    ValueError: Message tensorboard.Event exceeds maximum protobuf size of 2GB: 10962522075
    -> tensorboard 사용 코드 부분 주석 처리
    해결완료

질문

Dataset의 class별 데이터 불균형이 발생했는데, 데이터가 별로 없는 class들만 data augmentation을 진행해도 되는지?

https://3months.tistory.com/414

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=siniphia&logNo=221764461342

피어세션 정리

8월 26일 목요일 회의록
멘토님 질문 리스트 중 같이 해결할 만한 답
육안상으로 보이는 이미지가 납득이 가지않아도 Augmentataion

  • 한진님 : 우리가 육안으로 납득이 가지 않아도 성능이 올라가는 것으로 봐서 납득이 가지 않아도 이해하자 , 모델이 보는 눈은 다르다.
  • 요한님 : Normalize를 해서 육안으로 이해하기 힘들지만 다시 Normalize를 하게 되면 우리가 육안으로 확인 할 수 있는 사진으로 복원가능
    Dataset의 class별 데이터 불균형이 발생했는데 , 데이터~
  • 대웅님 : 데이터 불균형을 맞추기 위해 부족한 레이블을 Augmentataion진행하였더니 성능향상이 있었다.
  • 한진님 : Oversampling 한 후 성능 향상
    Normalize 시각화시에 ~
    한진님 : torch.normalize 안에 max fixel value 란 argument가 있는것으로 보아 악영향을 줄이는 효과가 있다라고 본다.
    CenterCrop을 한 후 Augmentation 진행해보자 ( 얼굴이 잘 나온다.)
    RandomCrop ->데이터의 질은 떨어지지만 양은 올라간다. ( 불필요한 환경을 제거해서 데이터의 질이 올라갈 수도 있다. )
    호영님 오늘 한 것
    Densenet 121 사용 , 다른 모델 사용중 오류
    대웅님 오늘 한 것
    EDA 파보기
    레이블링 잘못된 것들 datasets.py 수정 (남녀 바뀐경우 , 마스크 착용여부 오류 ) -> 레이블링 다시
    Normalize 할 때 전체 데이터셋의 평균으로 해보자
    요한님 오늘 한 것
    Augmentation Resize->RandomCrop->HorizontalFlip->One of
    성능이 다르지 않다... One of 제거 후 다시 도전
    성능이 올랐다. ( 더오를 수 있을거같다. )
    준수님 오늘 한 것
    augmentation 기법 하나씩 적용 후 모델 정확도 예측 후
    Randaugment 진행할 예정
    창한님 오늘 한 것
    resnext50 돌리는데 코드 오류 수정중
    한진님 오늘 한 것
    Augmentation 조절중 왜곡시키는 것은 좋지 않을 수도 있다.
    Template 구조 중 partial 을 쓰는 이유 : loss를 실시간으로 Update를 하기 위해서 사용

학습 회고

PyTorch template에 익숙해지고 baseline 코드를 작성해보는 데에 초점을 두고 공부하자.

profile
Speech Synthesis & Voice Cloning

0개의 댓글