Object Detection - Detectron 으로 Baseline 코드 만들어보기
29 Sep 2021 | Deep Learning구조를 파헤쳐보며 만들어야 될 부분을 추려봤다.
-
Dataset
구조는
register_coco_instance
부분에 dataset의 이름을 지정한 후, 훈련을 할 때 이름을 기준으로 불러와 사용하는 방식이다.
아쉽게도 런타임 내에서 dataloader를 건드리기는 쉽지 않았다. 따라서 추후 k-fold와 같은 방식을 적용할 땐 json파일을 정제하여 만들어야겠다. -
Config
Config에 있는 Hyperparameter들을 수정하면 되는데, 주의할 점이 하나 있다.
Dataset의 이름은 튜플 형태로 저장한다는 점이다.
따라서 한 가지의 데이터셋을 이용한다고 해도 ((‘datasetName’,)) 형태로 저장해야만 한다. -
Mapper
augmentation 부분을 설정할 수 있다.
detectron2.data.transforms
내에 많은 기능들을 지원하니, 두고 쓰면 될 것 같다. -
Trainer
Config를 받아서 설정을 한다. 또한 샘플러와 저장 경로와 같은 부분을 지정해줄 수 있다.
추후 더 알아봐서 유용한 기능들이 있나 찾아봐야겠다. -
Train
Trainer.train()
로 손쉽게 지정하면 Tensorboard까지 알아서 지정해준다.
다만 로그와 세팅값을 좀 더 편하게 보기 위한 환경을 조성해야겠다고 생각했다.