목표 : GitHub에서 DETR 코드를 가져오고 학습과 평가 수행해보기
먼저 아래 링크에서 DETR(Detection transformer)의 코드를 다운로드 받아야 합니다.
만일 git이 설치되지 않았거나 가상환경이 설정되지 않았다면 아래 글들을 참고해주세요!
아래 그림에서 초록색 버튼, [<>Code]를 클릭하면 여러 옵션이 있습니다.
가장 아래에 있는 Download ZIP은 단순히 전체 코드를 압축된 파일로 컴퓨터에 다운로드 하는 것입니다.
저희는 git 명령을 통해 코드를 다운로드 해보겠습니다.
먼저 Clone 항목에 아래 링크를 복사해야 합니다.
이후 코드를 다운로드할 폴더에서 git bash를 실행시키고 아래 명령을 수행합니다.
git clone https://github.com/facebookresearch/detr.git .
다음은 환경설정입니다. 먼저 pytorch가 설치되어야 합니다. 아래 링크에 들어가서 다운로드 할 수 있습니다.
설치에 앞서 CUDA version을 확인해야 하는데, Anaconda Prompt를 실행시킨 후 아래 명령을 수행하면 CUDA version을 알 수 있습니다.
nvcc -V
아래와 같이 본인 환경에 맞는 옵션을 선택 후 아래 제시된 명령을 미리 생성한 가상환경이 활성화된 상태에서 실행하면 됩니다.
DETR의 학습과 평가에 사용되는 library의 설치를 위해 아래 명령들을 차례로 수행하세요.
conda install cython scipy
pip install pycocotools
다음은 객체 인식의 대표적인 데이터셋인 COCO를 다운로드 하겠습니다.
아래 링크 주소를 하나씩 구글 검색 창에 입력하시면 설치가 진행됩니다.
http://images.cocodataset.org/zips/train2017.zip
http://images.cocodataset.org/zips/val2017.zip
http://images.cocodataset.org/annotations/annotations_trainval2017.zip
설치된 압축파일들의 압축을 풀고 아래와 같은 경로로 정렬합니다.
우선 아래 명령을 통해 프롬프트의 경로를 detr 코드가 있는 경로로 변경합니다.
cd /path/to/detr_code/
학습의 경우 아래 명령을 입력하시면 됩니다.
# GPU가 1개일 경우
python main.py
# GPU가 여러개일 경우
python -m torch.distributed.launch --nproc_per_node=사용할 GPU 개수 --use_env main.py --coco_path /path/to/coco
아래와 같이 coco dataset을 로드한 후 학습이 시작되는 것을 확인할 수 있습니다.
마지막으로 아래 명령을 실행하면 validation 이미지에 대한 모델 예측 성능을 보여줍니다.
python main.py --batch_size 2 --no_aux_loss --eval --resume https://dl.fbaipublicfiles.com/detr/detr-r50-e632da11.pth --coco_path /path/to/coco
아래와 같이 사전학습된 DETR 모델의 성능을 확인할 수 있습니다.