Search
moon
sun

[DB] 코그넷나인 AI hub 프로젝트 칸반

Search
To-do
28
In progress
16
Complete
54
No 관련 마일스톤
19
⛳
Ai hub 프로젝트 마감
⏳
학습80%(2)
⏳
보고서 작성기간
⏳
학습80%(1)
⛳
마일스톤5
⏳
학습10%(2)
⏳
학습10%(1)
📦
[외부] 80% 데이터 구축완료 시점
⛳
한번정도 학습은 해 보아야 함
경태파트장님, 적어도 이때까지는 학습 시작이 돼야함
⛳
오팀장님 feasibility 공유 (2)
프로젝트를 둘이서 할 수 있을지 없을지 말씀드린다.
도커에서 멀티 GPU 사용하기
GPU 서버에 관리자 권한과 도커에 대한 접근 권한을 가진 리눅스 계정을 두 개(장후, 선직) 생성한다.
📤
외부에 모델 B 리소스 요청
✍🏻
배운 내용들을 미래에 누구나 OCR 태스크에 배워 적용할 수 있도록 문서화한다.
경태파트장님의 실수를 반복하지 말자
⛳
보고서 작성 완료
모델과 관련된 보고서 작성 완료, 약 20장 분량
⛳
마일스톤4
Aihub 데이터로 학습하고 평가하는 파이프라인을 만든다.
⛳
마일스톤3
외부인력 지원이 왔을 때 함께 코웍할 수 있을 정도로 PMTD에 대해 이해한다.
⛳
마일스톤2 (실패)
1주일 내 “Pyramid Mask Text Detector” 논문을 구현해서 COCO 포맷 형태의 데이터셋을 학습시켜 보고, 학습이 정상적으로 진행되는 것을 확인한다.
⛳
마일스톤1 (성공)
작은 규모의 COCO 포맷 데이터셋을 이용해서 베이스라인 모델의 결과를 만드는 파이프라인을 도커로 패키징한다.
마일스톤5
6
[1_7] 제출물 개선
[1_7.2] 모델C2(recognition) Self-Attention 모델로 재학습한다.
[1_7.3] 모든 모델들이 100% 데이터를 이용해 학습되도록 수정한다.
⏳
[2] 시연이 가능한 데모를 제작한다.
✍🏻
[2_1] 시범서비스 문서화
❌
[1_7.1] 모델C1(detection) PMTD 대체 논리를 강화한다.
마일스톤4
50
🔨
[1_4_1] 물류 detection 데이터의 유효성을 확인한다.
1. 랜덤하게 선택한 200장을 시각화해볼 때 문제가 없어야 하며, 2. 1% 모델로 10% 데이터, 10% 데이터로 100% 데이터가 문제 없이 추론가능해야 함.
🔨
[1_2_1] (선행 태스크에서 학습시킨 detection 모델) + recognition 모델(w/pretrained weight)을 결합해 결과물을 출력한다.
E2E 모델을 로드하고 샘플 데이터로 추론 I/O 를 하면 끝
🔨
[1__1] MMOCR detection 모델과 MMOCR recognition 모델의 평가 결과를 wandb 에 시각화한다.
물류 1% / PMTD 모델 B
COCO 1% / PMTD 모델 B
ICDAR 2015 1% / PMTD 모델 B
COCO 1% / maskrcnn-benchmark
ICDAR 2015 1% / maskrcnn-benchmark
🔨
[1__2] MMOCR 모델 학습 시 모델 가중치를 wandb 아티팩트로 저장되도록 만든다.
[1_6] 최종 결과물 보고서 및 도커파일 제출
[1_6.1] 모델 A 도커파일 제출 준비를 마친다.
[1_6.2] 모델 C 도커파일 제출 준비를 마친다.
🔨
[1_3_1] MMOCR 에서 제공하는 2D Self Attention Recognition 모델을 1%, 10%, 100% 중 하나의 금융데이터로 학습한다.
해당 데이터로 모델 학습, 평가, I/O확인이 가능하면 끝.
🔨
[1_5__1] MMOCR 에서 제공하는 2D Self Attention Recognition 모델을 1%, 10%, 100% 중 하나의 물류데이터로 학습한다.
해당 데이터로 모델 학습, 평가, I/O확인이 가능하면 끝.
🔨
[1_3_1.1] 2D Self Attention Recognition 모델 성능 높이기
✍🏻
[1_6.2.1] 모델 C 에 사용된 세부모델 요약
✍🏻
[1_6.3] 보고서/증빙자료에 필요한 내용을 모두 작성하고, 필요한 경우 도움을 요청한다.
이수화박사님 혹은 권팀장님이 컨펌하시면 완료.
✍🏻
[1_6.2.2] 과제 제출을 위한 도커 패키징 형식에 대해 이해한다.
🔨
[1_4] MMOCR 에서 제공되는 임의의 detection 모델을 1% (또는 10%, 100%) 물류데이터로 학습한다.
해당 데이터로 모델 학습, 평가, I/O확인이 가능하면 끝. 더불어, from the scratch / pretrained / transfered 모델 각각을 평가해서 비교한다.
🔨
[1_5] MMOCR 에서 제공되는 임의의 recognition 모델을 1% (또는 10%) 물류데이터로 학습한다.
🔨
[1_5_1] 물류 recognition 데이터의 유효성을 확인한다.
1. 랜덤하게 선택한 200장을 시각화해볼 때 문제가 없어야 하며, 2. 1% 모델로 10% 데이터, 10% 데이터로 100% 데이터가 문제 없이 추론가능해야 함.
🔨
[1_2_1.3] text detection 모델 + recognition 모델의 추론 출력을 이용해 E2E F1 score 을 계산한다.
파트장님 스크립트와 비교해서 같은 결과물이 나올 경우 성공
✍️
경태파트장님 QnA
to 선직님
🔨
[1_2___2.1] 금융 detection 데이터의 유효성을 확인한다
1. 랜덤하게 선택한 200장을 시각화해볼 때 문제가 없어야 하며, 2. 1% 모델로 10% 데이터, 10% 데이터로 100% 데이터가 문제 없이 추론가능해야 함.
[1_5.1_1] MMOCR 표준 포맷으로 변환된 금융, 물류 100% 데이터를 에게 전달한다.
🔨
[1_3.2] 금융 recognition 데이터의 유효성을 확인한다.
1. 랜덤하게 선택한 200장을 시각화해볼 때 문제가 없어야 하며, 2. 1% 모델로 10% 데이터, 10% 데이터로 100% 데이터가 문제 없이 추론가능해야 함.
🔨
[1_2___2.1.1] MMOCR visualization 도구의 사용방법을 확인한다.
Detection 이미지, recognition 이미지, Augmentation 파이프라인을 통과한 이미지, 통과하지 않은 이미지 모두를 확인하면 성공
🔨
[1_3.3] MMOCR recognition 모델이 한글을 지원하도록 만든다.
한글 recognition 데이터셋으로 모델 학습, 평가, I/O 확인이 가능하면 끝.
👨‍👨‍👧‍👦
@11/23/2022 수요일 상황 공유
🔨
[1_2__1] MMOCR 에서 제공되는 임의의 detection 모델을 10% 금융데이터로 학습한다.
해당 데이터로 모델 학습, 평가, I/O확인이 가능하면 끝. 더불어, from the scratch / pretrained / transfered 모델 각각을 평가해서 비교한다.
🔨
[1_4.1] 물류 데이터를 MMOCR 표준 detection 포맷으로 변환하는 스크립트를 작성한다.
❌
[1_2__2] 10% 의 금융 데이터로 detection 모델을 학습하되, 학습된 모델이 과적합된 것은 아닌지 확인한다.
🔨
[1_5.1] 물류 데이터를 MMOCR 표준 recognition 포맷으로 변환하는 스크립트를 작성한다.
❌
[1_2.1_1] train/test 데이터 분할 방법을 변경한다.
🔨
[1_2] MMOCR 에서 제공되는 임의의 detection 모델을 1% 금융데이터로 학습한다.
해당 데이터로 모델 학습, 평가, I/O확인이 가능하면 끝. 더불어, from the scratch / pretrained / transfered 모델 각각을 평가해서 비교한다.
🔨
[1_2.1] 금융 데이터를 MMOCR 표준 detection json 포맷으로 변환하는 스크립트를 작성한다.
📦
[외부] 100% 데이터 구축완료 시점
🔨
[1_2_1.2] MMOCR 에서 제공하는 recognition 모델(w/pretrained weight)의 성능을 평가하고 ICDAR 2015 테스트 데이터셋으로 전이학습한 이후의 성능과 비교한다.
from the scratch / pretrained / transfered 모델 각각을 평가해서 비교하면 끝
🔨
[1_2_1.1] MMOCR 에서 제공하는 임의의 recognition 모델의 성능을 평가한다.
🔨
[1_2_1.1.1] MMOCR 에서 제공되는 임의의 recognition 모델을 평가할 수 있는 작은 데이터셋을 배치한다.
해당 데이터로 모델 학습, 평가가 가능하면 끝
🔨
[1_2_1.1.1.1] MMOCR 에서 제공되는 임의의 recognition 모델을 ICDAR 2015 데이터셋으로 학습한다.
학습된 모델 평가가 가능하면 끝
🔨
[1_1] MMOCR 에서 제공되는 임의의 detection 모델을 샘플 데이터(MINI-ICDAR2015)로 학습한다.
학습된 모델 평가가 가능하면 끝
🔨
[1] MMOCR 개발 환경 구축하기
물류 1% / 경태파트장님 모델 A
🔨
금융 10% / 경태파트장님 모델 A
👨‍👩‍👦‍👦
진행상황을 공유하고, 외부지원 관련 결정된 내용들을 공유하는 meet
🔨
[1_3] MMOCR 에서 제공되는 임의의 recognition 모델을 1% 금융데이터로 학습한다.
해당 데이터로 모델 학습, 평가, I/O확인이 가능하면 끝. 더불어, from the scratch / pretrained / transfered 모델 각각을 평가해서 비교한다.
🔨
[1_3.1] 금융 데이터를 MMOCR 표준 recognition json 포맷으로 변환하는 스크립트를 작성한다.
Load more
마일스톤3
7
👨‍👩‍👦‍👦
진행상황을 공유하고, 외부지원 관련 결정된 내용들을 공유하는 meet
📝
PMTD 를 공부하여 다음 네 가지 질문들에 답을 구한다.
🔨
ssh 접속이 가능한 컨테이너가 사용하는 도커 볼륨을 생성한다.
컨테이너에서 작업을 종료하더라도 작업 중인 내용이 증발하지 않도록 만들기 위함
🔨
ssh 를 통해 pytorch 환경이 마련된 도커 컨테이너에 접속을 성공한다.
🔨
Aihub 프로젝트에서 지속적으로 사용할 수 있는 개발 환경을 도커 컨테이너로 제작하고 VSCode 를 연결한다.
🤔
@10/26/2022 문제정의
이 요소들을 우선순위에 맞게 각각 칸반으로 만든다.
✍️
인수인계: 프로젝트 일정, 컴퓨팅 리소스 등 정보를 파트장님으로부터 공유받는다.
마일스톤2 (실패)
4
✍️
프로젝트 완수에 필요한 일들을 리스트업하고 팀장님, 실장님과 완수가능성과 리소스 지원에 대해 이야기를 나눈다.
🔨
Pyramid Mask Text Detector 인퍼런스 코드로 학습 스크립트까지 실행이 가능한지 확인한다.
🔨
Pyramid Mask Text Detector 인퍼런스 코드의 작동을 확인한다.
🔨
PMTD의 모델구조와 loss 및 mask 생성을 코드에서 확인한다.
마일스톤1 (성공)
13
⛳
오팀장님 feasibility 공유 (1)
프로젝트를 둘이서 할 수 있을지 없을지 말씀드린다.
🔧
VPN 을 이용해 외부에서 GPU 서버 접속에 성공한다.
mac 에서는 vpn 이 잘 연결되었음에도 접속이 안된다.
🚩
Mask R-CNN 소스코드를 포함한 도커파일이 로컬에서 정상적으로 동작하는지 확인한다 (Single GPU).
간단한 코드를 통해 도커 컨테이너가 GPU를 사용하는 것을 확인한다.
컨테이너를 GPU 에서 실행시키는 것 자체만으로도 많은 이슈가 발생한다.
🚩
GPU 서버에서 docker-compose up 명령 시 permissionerror 발생 문제를 해결한다.
🚩
배포한 도커파일로 (1) 윈도우 운영체제에서도 이미지를 잘 만들 수 있는지 (2) 윈도우에서도 동일한 명령어로 학습을 재현가능한지 확인한다.
도커 이미지를 만드는 스크립트가 잘 완성되었는지 확인하고 디버깅할 요소를 고립시키기 위함이다.
🚩
Mask R-CNN 오픈소스를 이용한 COCO 데이터셋 training 가능 여부 테스트
🚩
coco 레이블 포맷을 바탕으로 학습하는 모델을 포함한 도커 컨테이너를 구축한다.
🚩
매우 작은 규모의 분류 데이터셋을 coco 데이터 레이블 포맷으로 변환하는 스크립트를 작성한다.
🚩
pytorch 분류모델 학습이 한줄의 커맨드로 실행될 수 있는 도커 컨테이너를 구축한다.
🚩
torchvision 패키지에서 기본적으로 제공하는 영상 데이터로 분류모델 학습 파이프라인을 만든다.
🚩
GPU 서버에서 도커로 패키징된 Mask-RCNN 학습 코드가 동작하도록 만든다 (Single GPU).
🚩
프로젝트에 필요한 만큼만 도커 사용법을 쉽게 설명드린다.