[네이버 부스트 캠프] AI-Tech - Lv2 week6(1)

학습기록 - 48

오늘 할 일

  • Ready for Competition

1. 강의 복습 내용

  • Overview

반드시 이해하고 넘어갔으면 하는 부분,

1강 - mAP, 2강 - FasterRCNN, 3강 - MMDetection, Detectron2, 4강 - FPN, PANet, 5강 - YOLO, SSD, RetinaNEt, 6강 - EfficientDet

내가 누구에게 이 주제에 대해서 설명할 수 있을까?

1강

  • mAP 가 어떻게 계산될 수 있는 지 완벽하게 이해하고 있는가?

2강

  • SPP( RoI Pooling) 에 대해 완벽하게 이해하고 있는가
  • RoI projection 에 대해 완벽하게 이해할 수 있는가
  • FasterRCNN 중 RPN 에 대해 완벽하게 이해하고 있는가
    • Anchorbox에 이해하고 있는가?
    • RPN의 역할에 대해 이해하고 있는가?

3강

  • MMDetection 이든 Detectron2 이든 Scratch 든 새로운 모델에 대해 코드를 짤 수 있는가?
    • Through Competition으로 알아가자!

4강

  • Neck 의 역할에 대해 완벽하게 이해하고 있는가
  • FPN, PANet 에 대해 완벽하게 이해하고 있는가

5강

  • 2 stage 와는 다르게 RPN 이 없는 1 stage 에서 어떻게 박스를 예측하는지 이해하고 있는가
  • Yolo v1 에 대해 완벽하게 이해하고 있는가

6강

  • EfficientDet 의 등장 배경 및 Compound scaling 의 중요성에 대해 설명할 수 있는가

7강

  • (Optional) Cascade, Deformable, Swin 에 대해 설명할 수 있는가

8강

  • (Optional) M2Det 에 대해 설명할 수 있는가

2. 고민 내용, 결과 (과제 수행 과정, 결과물 정리)

vscode intellisense

vscode python intellisense가 동작하지 않았다.

왜 그런 것인지 생각해봤다.

1) ssh로 연결된 서버에서 돌아가고 있다.
2) AI-stage 서버 내에서 python 언어를 못 받아들이는(?) 느낌이다.
3) conda 가상 환경을 사용하고 있지 않다.

해결)
AI-stage 서버 안에 있는 상태로 extension - python 을 설치했다.
설치를 하니까 가상 환경이 자동으로 실행되었고, intellisense가 가능했다. (함수 이동 & 원하는 method 출력))
AI-stage 서버에 있는 python interpreter에서 가상환경을 설정할 수 있었다.
첫번째 것이 내가 설치한 것, 두번째 것이 서버에 원래 있던 것, 세번째 것이 나의 로컬에 있는 것 같았다.

stratified_group_k_fold

(주말 공부, 10/10 )

kaggle discussion stratified group k-fold 링크

위에 있는 코드들을 line by line으로 해석했다. 표준 편차를 이용하는 부분에서 이해하는데 오래 걸리긴 했지만, 겨우 뭔 뜻인지 블록으로 이해했다.

폴드에 이미지 데이터 정보를 넣었을 때, 각 폴드별 라벨들의 표준 편차 평균을 기준으로 best fold 선정.
best fold에 데이터 넣기 -> 폴드별 라벨 분포를 고르게 만드는 역할을 한다. (코드를 첨부하고 싶은데.. 서버가 끊김 !!!)

그리고 .. k-fold stratified를 이용한 validation set 완성했다!! 다른 캠퍼 분이 이미 다 하시긴 했지만, 혼자만의 힘으로 완성시키고 싶어서 끝까지 해냈다!

!!!!!공부하면서 알게된 tip)!!!!!

from Collections import Counter -> 예제 하면서 제대로..?

zip

defaultdict

numpy는 같은 크기의 array끼리 덧셈이 가능하다. (각 index 별로)

Json file을 만들 때, indent를 이용하면 예쁘게 정리가 가능

json -> dict / dict -> json 이용해서 데이터를 이용하자.

3. 피어세션 정리

4. 학습 회고

  • line by line으로 하는데 진짜 많은 것을 배우는 것 같다. 하나씩 다 찾아보면서 이 코드가 어떻게 데이터를 다루는 지 알게 되었고,
    공부를 하면서 다른 함수들에 대해 자세히 찾아보면서 새롭게 배우게 되었다.