본문 바로가기
반응형

블로그 글161

[Lv2 P-Stage] 2 stage Detectors R-CNN - 객체가 있을만한 후보위치(Region of Interest)를 기존의 알고리즘으로 예측 - 예측된 후보 위치를 crop 후 warpping - warpping 된 이미지를 분류 - sliding window 는 너무 많은 경우의 수 -> Selective search 를 이용해서 후보 추출 - 아래의 step으로 진행 1) 입력 이미지 받기 2) Selective search 적용 : 하나의 이미지에서 2000개의 RoI 추출 3) 동일한 size로 warpping : 분류기의 마지막에 fc레이어에서는 고정된 사이즈를 받아야함 4) warpping된 RoI를 CNN 에 넣어 feature 를 추출 5) 추출된 feature를 SVM에 넣어서 분류 진행 6) regression을 진행해서 b.. 2021. 10. 6.
[Lv2 P-Stage] Object Detection Overview -Introduction classification은 한 이미지에 하나의 정답이 나오지만 Object detection은 하나의 이미지에 여러가지 정답이 있을 수 있어서 훨씬 어렵다. sementic segmentation은 객체의 영역이 어디인지 그리고 그 영역안에 있는 사물이 무엇인지 알아내지만 instance segmentation은 객체의 종류 뿐만 아니라 서로 다른 물체는 서로 다른 객체로 인지하는 task다. Object detection은 테슬라의 자율주행, 의료도메인 등등 실생활에서도 전반벅으로 사용되고 있다. - Evaluation 객체검출의 2가지 Evaluation : mAp(성능 지표), FLOP, FPS(계산 속도) mAP : mean average precision 각 클래스당 .. 2021. 9. 27.
[DLTemplate] #4 trainer 정리 -3 kfold kfold 가 진행될 수 있도록 모델 트레이너에 녹여보자. 우선은 아래의 링크를 참고했음을 알린다. https://www.machinecurve.com/index.php/2021/02/03/how-to-use-k-fold-cross-validation-with-pytorch/ K-fold Cross Validation with PyTorch – MachineCurve Explanations and code examples showing you how to use K-fold Cross Validation for Machine Learning model evaluation/testing with PyTorch. www.machinecurve.com 하나의 sweep_config 가 결정되면 그 아래로 k번.. 2021. 9. 27.
[DLTemplate] #4 trainer 정리 -2 model 이번엔 모델을 정리하고 불러올 수 있게 모듈화 한 다음 적절한 unittest를 줘서 관리해보자. 완전히 독립된 객체로 다룰 수 있게 코딩된 모델을 복붙해서 py파일로 만든다. 이렇게 하고 불러오기만 하면 된다. 동작을 확인하자. 무리없이 학습이 진행된다. 이제는 모델이 적절하게 평가될 수 있는 테스트를 만들어줘야 한다. 우선은 입력크기가 정해지면 적절한 출력 크기가 나오는지 알 수 있어야 한다. sweep_config에서 config_gennerator 가 공통 config를 가지고 있으니 활용하도록 하자. data shape을 넣어줬다. 그리고 dummy_input을 만들고 그것을 넣어 문제가 생기지 않는지 확인한다. 이상이 없다면 모델의 레이어 중간중간마다 원하는 값이 나오는지 출려력해 볼수도 있어.. 2021. 9. 27.
[Github Action] python 프로젝트의 coverage 측정 후 보고 //coverage란? 작성된 코드는 어떤 목적을 가지고 만들어진 로직의 집합니다. 따라서 작성자는 본인이 작성한 코드가 어떤 동작을 수행해야하는지 정확하게 알고 있는 몇 안되는 사람이고 그에 맞게 바르게 이해하고 있어야 한다. 보통 파이썬은 아주 작은 단위의 객체들이 모여서 하나의 큰 프로젝트를 만들게 되므로 이 작은 단위의 객체들이 모두 자기 역할을 충실히 하는지 테스트 하면 큰 프로젝트를 모두 돌려보지 않더라도 전체 프로젝트의 신뢰도를 예측할 수 있다. 이렇게 자신의 코드가 예상대로 움직여주는지 확인하는 작업을 unittest라고 하고 자신이 만든 객체들 중 몇 퍼센트가 테스트되고 있는지 확인해 알려주는 지표가 바로 coverage값이라고 할 수 있다. //Github Action? 우리는 이 값을.. 2021. 9. 23.
[DLTemplate] #4 trainer 정리 trainer 를 잘 정리해보자. 우선 my_dataset.py 파일을 만들어서 데이터셋부터 갈고 닦아보자. 간단한 mnist 불러오기 구문이지만 나중에 다시 써먹을 수 있는 형태로 뼈대를 잡아두고 repr 등도 확실하게 적어둔다. 잘 나오는 것을 확인할 수 있다. 이제 trainer의 data부분을 치환해 주고 적당한 unittest를 줘서 적용을 해 본다. 테스트를 통과했다. 다음에 할 일은 이 unittest가 내가 만은 sweep config 와 유기적으로 연동되게 하는 것이다. 훈련중 바뀔 가능성이 현저히 적은 파라미터들을 공통 파라미터로 묶어서 꺼냈다. 이렇게 하면 trainer 에서도 쉽게 불러올 수 있게 되면서 각각의 method 별로 다른 실험을 진행할 수도 있다. 불러오면서 train과.. 2021. 9. 23.
반응형