Boostcamp AI Tech (Day 038)
1. 강의
2. 피어세션
- 리더보드가 열렸다
- 세 모델 받은거 앙상블하면 좋을 듯
- 실습2처럼?
- 직접 모델 만드는 게 맞는가… 라이브러리 불러오면 되지 않나
- 프로필 바꾸기
- 실습에 코드가 제공되지 않아 아쉽다
- 소윤컴 봐줌 헤헤 고마워~~!
- 영어 시험 어땠어? 나중에 자식낳으면 해외로 보내라
- 베이스라인코드작성 상황
- 실습2 먼저 해보면 좋을듯!
- 옵티마이저가 유동적??이라 넣을 때 어쩔지 고민
- 스트림릿 설명. 판다스에러고침, gt랑 우리가 추론한거랑 같이 볼 수 잇도록 함, 이름변경
- 임계점이 0.05로 되어잇다 고치면 좋을듯
3. 회고
- 동료피드백을 읽었다
- 수많은 칭찬과 따뜻한 감사의 말을 봤다. 기분이 이상했다. 따뜻한 팀원의 메시지를 보니 기분이 이상했다. 생각보다 걱정을 많이 받았다. 좀 더 의젓하고 믿음직한 사람이 되고싶다.
4. 오피스아워
- 베이스라인 해설
- 컴피티션 : 쓰레기들 이미지에서 쓰레기 객체를 탐지하고 분류
- 객체탐지 바운딩박스 포맷 : 코코포맷(xywh), 파스칼VOC(xyxy)
- 학습데이터는 코코 포맷, 제출 포맷은 파스칼 VOC 형태. 염두에 두기
- 3가지의 베이스라인 제공. 파이토치, 디텍트론2, mm디텍션
- 샘플서브미션 보면 제출 포맷 볼 수 잇음
-
3개 다 주피터 파일로 train, test? 만들어뒀음
- 데이터셋 train.json 테스트 데이터 이미지 시각화 해보면 좋을듯! 좀 비슷?
- 토치비전에서 디텍션 이동하는 프리트레인 모델 많음. Faster RCNN, FCOS 등 잇음. 가장 뭐 우리 커스텀 이해하기 쉬움 굳
- 커스텀 데이터셋. 인포(데이터셋 기본 정보), 라이센스(라이센스), 이미지(이미지파일에 접근할 수 있는 정보)(0번째 id를 가진 이미지 경로 /0000.jpg), 어노테이션(bbox 각각 다 분류되어저장됨)(0번째 이미지에 카테고리id0번째, bbox가 이렇다), 카테고리
- 파이코코툴로 쉽게 데이터 정보 불러오기
- 백그라운드를 0 값이라고 판단하므로 기존 라벨 0이 겹치니 넘_클래시스 = 11 설정 필수
- 이렇게 커스텀 데이터셋 구성 완
- train 시작
- 토치비전 모델.디텍션 안에서 모델 확인 가능. 모델 리스트 체크해보기. 되게 많음
- 아 이부분 놓쳤다
- 사전학습된 모델 불러와서~
- 데이터로더와 모델 선언 완. 이제 학습 시작 평범하게 편하게 똑같이
-
inference 부분은 나머진 다 똑같은데 다시 0-9로 당기는 작업 함.
- mm디텍션 라이브러리로 객체탐지 코드 :
- SOTA반영속도 굳, 토치비전보다. 우리가 가진 서버가 지금 cuda가 안돼서 좀 아쉽긴 함. 컨피그 보면서 그 굳 모델 구성 해봐라
- 컨피그(사용가능한 모델이 어떻게 조합되어잇어서 어떻게 수정해야 어떻게 실험할 수 있는지… 지정만 ), mmdet(모델을 포함하여 핵심 코드들이 구현되어잇음
- 컨피그가 조합하는거고 mmdet이 각 블럭들이다
- configs/ 들어가면
- 각 모델들이 어떻게 구현되어있는지 -> 필요에따라 모델 골라써라.
- configs엔 조합법만 들어있고. py는 base 안에 들어있음
- base/model : faster rcnn인데 백본은 얘고 뭐 모델 이 부분 잘 이해 해봐… 영상 마지막인데 어렵다
- base/데이터셋 : 여러 데이터셋 파일. 데이터에 대한 정보, 어그멘테이션 파이프라인 등이 구현되어있음
- base/스케줄러 : 옵티마이저, 러닝 폴리시 등 학습 전략 들어있음 이 부분 수정하면 학습전략 바꿀 수 있음
- 사실 파일을 하나하나 수정하지 않고 컨피그 파일을 불러와서 키들을 data,train.classes 이런식으로 키 타고 들어가서 수정해라
- 데이터 경로 수정, 데이터에 맞게 인풋사이즈, gpu 수정.
-
wandb 써서 학습 진행상황 트랙킹 해라. wandb 임포트해서, 로그인하고, 초기설정하고, 업뎃하고 watch하고… log 찍어보기 헉 이걸 logger로 사용하면 된대
- 디텍트론2 우리서버랑 호환 잘 되어있음 따로 세팅없어도됨 좋아요~ SOTA 반영 굳
- 얘도 config에 보면 yaml로 조합법이 적혀있구나
- model_zoo에서 프리트레인모델(컨피그,체크포인트 등)을 다룰수 있는 함수 제공
- 데이터셋을 register해야 내 데이터셋에 접근할 수 있음. register_coco_instances함수 사용하며 코코 포맷으로 등록. 메타데이터카탈로그라는걸 통해 metadata(우리가 사용할 클래스들 네임넣을 수 있음) 수정
- Mapper : 각 데이터셈플딕셔너리 받아서 모델 인풋에 넣을수잇는 형태로 변환. 전처리 여기서
-
trainer : 전략은 컨피그에서 다 했으므로… 컨피스 넣어주고 매퍼 넣고… evaluater 만드는 정도.
- 질답 :
- 객체탐지관련 대학원 고민 조언 : 학부연구생, 공부열심히, 저널 한 편 내보고, 다른 연구실 인턴, 캐글 열심히 참여 등 스펙 여러 개 후딱 쌓고 면접가서 어필 잘 했다
- 대학원 질문 디엠 주시면 열심히 답변 주겠다 이수아 조교님!
- 지금 컴피티션만 잘 해도 충분한 연습이 된다. 여기에 집중 해라.
- 나중에 캐글 대회 몇 개 알려주는데 이미 끝난 거라도 데이터셋 가져와서 우승자꺼 보면서 공부해보면 좋겠다
- 셀렉티브 서치랑 roi는 cpu에서 계산하는데 이미지를 보고 알고리즘으로 각 영역 합치는…. 것. 이전 출력에 의존많이함. 이건 gpu에 셀 하나하나 계산 이런느낌이 아니라… cpu에서 동작하는 메소드 엉… 배치단위로, 인풋아웃풋이 일관되나, 피처맵이?> 이런거 보면서 gpu용인지 cpu용인지 생각해라
- isCrowd : 이미지 안에 객체들이 겹쳐있으면 1 되게 분리되어있으면 0. 이번 컴피티션은 이를 고려할 데이터셋이 아니라… 그냥 다 0으로 뒀음.
- 두 라이브러리중에 뭐가 좋음? 둘다 비슷해요… 이번 기수는 특이하게 디텍트론 쓰셈. mm디텍션 구축하면 좋은데 v3가 지금 서버에 지원안해서.
- 라이브러리는 사실 입문이고… 이거 익숙해지면 토치로 돌려봐라. SOTA모델들은 라이브러리에 없는게 좀 있어서. 직접구현해보렴
5. 멘토링(10/07)
- 자기소개
- 학교다녔습니다. 자율주행동아리에서 서버(라이다 등)공부하면서 자율주행시스템개발대회를 목표로 삼고 살다가… cv쪽 공부하는 분들보면서 센서보다 훨배 재밌어보여서 관심이 생겻는데 마침 네부캠 열렸길래 지원해서 들어왔습니다. 가장 직전에 하던 프젝이 이거다보니까 이쪽프젝이 가장 흥미잇고 재밋을것같아용… 여가시간엔 친구만나러 나가거나 자고 제가 이거끝나면 다시 복학해서 프젝하거나 인턴준비하거나 나중에 대학원을가든 뭔가 길이 많을텐데 뭐할진 모르겟고… 많은 진로 조언? 받고싶습니다
- 멘토님 자기소개 황태백 멘토님 공모전 -> 창업 -> ai 연구실 KKaVA 들어보셧나요? 오픈소스 기여하셨대
인터넷검색으로알기힘든것, 논문스터디, 오픈소스프로젝트피드백, 관심직무/회사지인연결 등 차별점을 갖기 위해 좀 해라 직행,원티드에서 취업모집 찾아봐라 (최종골 판단) ㄴai챌린지 있으니 나가봐도ㅎㅎ
- 논문리뷰 어떻게 해야할지 블로그, 노션, 피피티 abstract 읽어보고 재밌어보이면 ㄱ
introduction 자세히 읽어보면 조흠 (otivation/problem/contribution)
related work 읽어보되 적을필요는 없음
이 모델은 Data/model/Training
남의 논문리뷰 블로그가져와서 잘 전달해도됨