Skip to content

nota-github/Naver_BoostCamp_NOTA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Naver_BoostCamp_NOTA

Installation

  1. 도커 파일 다운로드 후 압축 해제
git clone https://github.com/nota-github/Naver_BoostCamp_NOTA.git
  1. 모델 환경이 정의된 도커 이미지 생성
cd np_app_segformer
# 이미지명:태그 = notadockerhub/np_app_segformer:latest
docker build -t notadockerhub/boostcamp:latest -f ./Dockerfile .

Training

  1. 데이터셋 준비 ADE20K, Tiny_ImageNet
dataset
    |--ADE20K
    |--Tiny_ImageNet
  1. 모델을 구동할 도커 컨테이너 생성하기
docker run --name {container_name} --shm-size={usable memory} -it --gpus all -v /{위 dataset dir의 path}:/root/datasets notadockerhub/boostcamp:latest

# example(dataset/ADEChallengeData2016)
docker run --name segformer_challenge --shm-size=8g -it --gpus all -v /root/dataset/:/root/datasets notadockerhub/boostcamp:latest
  1. 학습 시작
    • tiny_imagenet Pretraining
    bash dist_train.sh {사용하는 gpu 개수} \
        --data-path {tiny_imagenet path} \ # 이름에 tiny가 포함되어야함
        --output_dir {save dir path} \
        --batch-size {batch size per gpu } # default=128
    
    # example
    bash dist_train.sh 4 \
        --data-path /workspace/dataset/tiny_imagenet \
        --output_dir result/mod_segformer/ \
        --batch-size 64
    
    • ADE20K fine-tuning
    # 현재 디렉토리: /root/Naver_BoostCamp_NOTA
    python train.py \
        --data_dir {ADE20K의 path} \
        --device 0,1,2,3 \ # 환경에 맞게 수정 
        --save_path {save하고자 하는 dir의 path} \ 
        --pretrain {pretrain 모델 dir 혹은 .pth의 path} # .pth(pretrain의 output), dir(huggingface의 모델허브에서 제공하는 형태)
        --batch_size {batch size} # default=16

모델 수정

  1. segformer 모델 import 부분 수정(필요시)

Evaluation & FLOPs, 파라미터 개수 확인

  • evaluate 수행
# phase를 통해 val 또는 test set 설정
python eval.py \ # eval.py 내의 model을 정의하는 코드 수정
    --data_dir {ADE20K의 path} \
    --pretrain {pretrain 모델 dir의 path}
  • FLOPs, 파라미터 개수 확인
python util/get_flops_params.py \ # get_flops_params.py 내의 model을 정의하는 코드 수정
    --data_dir {ADE20K의 path}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages