Giter Club home page Giter Club logo

level2_dataannotation_cv-level-cv-02's People

Contributors

bsh201 avatar byeol5832 avatar gusangmo avatar gyuboone avatar yj9404 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

level2_dataannotation_cv-level-cv-02's Issues

[BUG] DataLoader error fix

Background

  • Sample loss를 구하는 와중, img를 모든 validation data에 기록하여 CPU가 터지는 문제가 생깁니다.
  • 이를 해결하는 코드를 작성합니다.

재현 방법

  • 재현 방법 예시

To Do

  • train.py와 utils.py를 고칩니다.
    • train.py에 img를 append하는 로직을 고칩니다.
    • utils.py에서 make_wandb_table을 고칩니다.

[Feat] Add wandb

Background

  • 효과적인 debugging을 위하여, wandb를 연동하고자 합니다.

재현 방법

  • 라이브러리 패키지를 업그레이드한 뒤, 필수적인 라이브러리를 설치합니다.
pip install urllib3 --upgrade
pip install requests --upgrade
pip install wandb
pip install plotly
  • wandb login을 터미널에 입력하여 토큰을 인증합니다.

To Do

  • wandb를 연동

    • 기본적인 Los splot
  • Top 10 error를 가진 sample 10개의 prediction 결과를 plot하기

[Util] Data download script 구현

Background

  • 원활한 실험을 위하여, 데이터셋 다운로드를 위한 쉘 스크립트는 필수적입니다.

재현 방법

  • sh (파일명)_gdrive.sh 를 이용하여 빠르게 데이터셋을 다운로드합니다.

To Do

  • AIHub 다운로드 sh 작성하기

[Feat] implement ConcatDataset

Background

  • 향후 우리는 Dataset을 많이 쓸 것입니다. 그런데 이 dataset을 어떻게 관리할까요?
  • 그 방법 중 1가지는 pytorch의 Concatdataset입니다.
  • 그런데 이를 위해서는, SceneTextDataset을 여러 번 지정해줘야만 합니다.
  • ConcatDataset 구조 하에서, wandb와 모델 학습이 무난하게 연결될 수 있게끔 코드를 짭니다.

재현 방법

  • 데이터셋을 통일된 형태로 만듭니다.
  • base.py에 우리가 학습에 이용할 데이터셋 포맷을 넣습니다.

To Do

  • base.py 생성하여, 파일 전체에서 아우르는 상수들 정의하기
  • train.py, utils.py 구조 수정하여 ConcatDataset에 잘 대응할 수 있도록 만들기
  • Multi-dataset에서도 file_name이 잘 추적되도록 신경쓰기

[feat] implement dataset integrity check code

Background

  • 제공받은 캠퍼 데이터셋에서, annotation이 없거나 제외영역밖에 없는 이미지를 발견했습니다.
  • 이는 학습 시에 상당한 noise로 작용합니다.
  • 따라서, 일반적인 데이터셋이 들어왔을 때 이를 검증할 코드를 구현합니다.

재현 방법

  • integrity_check.py를 만들어, 거기서 dataset integrity를 체크할 코드들을 구현합니다.

To Do

  • integrity_check.py에 다음과 같은 함수를 구현
    • zero annotation 확인하는 함수
    • 제외 영역밖에 없는지 확인하는 함수
    • 위 2가지 기능에서 제외되는 것들로 새로운 train.json을 만들어주는 함수

Future

  • 팀 간의 통일성을 위해, 추후 dataset download script를 만들어 이용하고자 합니다.

[FEAT] Google OCR api 추가

Background

  • 데이터 annotation이 제대로 되지 않아 re-annotation 필요

재현 방법

  • annotation with google ocr api

To Do

  • api 연동
  • ufo json 파일 생성
  • trian 확인

[BUG] fix google ocr api

Background

  • Ocr Dectect가 없는 경우 에러 발생

To Do

  • response 없는 경우 예외처리

[feat] custom train.py

Background

  • 대회 채점 metric은 f1 score입니다. 그러나 train을 할 때 f1 score가 출력되지 않고 있습니다.
  • 일일 채점 횟수에는 상한이 있으므로 더 많은 실험을 위해서도 f1 score가 출력 되게 할 필요가 있습니다.
  • f1 score를 기반으로 best.pth를 저장할 필요가 있습니다. 현재는 last.pth만 저장되고 있습니다.
  • 모델을 학습 시킬 때 overfitting을 방지해야합니다.

재현 방법

  • 대회 채점 metric과 로컬에서 출력되는 metric을 일치시킵니다.
  • best.pth를 저장하고 overfitting이 일어나지 않도록 early stopping 기능을 추가합니다.

To Do

  • train할 때 f1 score가 출력하기
  • best.pth를 저장하게 코드 수정
  • add early stopping code
  • f1 score을 기준으로 best.pth를 저장하고 early stopping 할 수 있게 수정

[Chore] load_from 구현

Background

  • checkpoint 기능을 구현합니다.

재현 방법

  • train_script.sh에 load_from인자를 추가적으로 지정해줍니다.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.