boostcampaitech3 / final-project-level3-cv-17

[2022.05.16 ~ 2022.06.10] 🌤️미세먼지 없는 맑은 사진📷 - 부스트캠프 AI Tech 3기 최종 프로젝트
13 stars 3 forks source link

[Model] AECR-Net #7

Open Dongwoo-Im opened 2 years ago

Dongwoo-Im commented 2 years ago

Background

Contrastive learning base로 좋은 성능을 기록한 AECR-Net을 사용해보고자 합니다.

Content

  1. git clone 하시면, models/DCNv2.zip이 있는데, 이거를 먼저 압축 해제한 후에 build해야 합니다.
  2. DCNv2 build에서 중요한 점은 pytorch 1.4.0에서만 build가 되는 것 같습니다. (이유는 잘.. 참고 사이트는 첨부했습니다.) 이외에 자잘한 install이 필요한데 하라는 대로 설치하면 되기 때문에 기록해두진 않았습니다. 그리고 안정성을 위해 cuda 10.1을 사용했는데, 다른 버젼을 써도 되는 것 같습니다. 이러면 build 되긴 하지만 그 과정에서 에러가 쏟아지는 것을 보면... 옳은 build 방법인지는 잘 모르겠습니다. conda install pytorch==1.4.0 torchvision==0.5.0 cudatoolkit=10.1 -c pytorch https://github.com/CharlesShang/DCNv2/issues/98
  3. Aistages 서버 cuda 버전 관리는 규범 캠퍼님 게시글 참고하시면 됩니다. https://kyubumshin.github.io/2022/04/23/tip/conda-cuda-%EC%84%A4%EC%B9%98/
  4. DCNv2 build를 마치고 train_aecrnet.py를 실행하시면 되는데, 이러면 에러가 쏟아집니다. 에러는 주로 data_utils 폴더 dataset load 과정, option.py train_aecrnet.py 실험 config 및 directory 관련된 것이고, deconv.py module name error -> sys.path 추가, cpp_extension.py ninja -v -> --version 수정도 했습니다. (혹시 돌려보실 분들은 말씀해주시면 지금까지 어떤 코드를 바꿨는지 체크해두겠습니다.) 이런 에러를 다 고치면서까지 이 모델을 써야할 이유는 없다고 생각해서 중간에 그만두었습니다.
  5. 참고로 inference 코드도 존재하지 않는 상황입니다. (물론 train_aecrnet.py의 valid code로 다시 짜면 됩니다.)

Details

이번 경험을 통해 생각해본 내용은 다음과 같습니다.

  1. github를 살펴볼 때, train 코드와 inference 코드가 있는지 반드시 살펴보자
  2. 재생산성이 높지 않고 짜임새가 매우 부족한 github 코드라면 돌려보는게 맞는지 한 번 고민해보자