CastleJo의 개발일지

Object Detection - Detectron 으로 Baseline 코드 만들어보기

|

구조를 파헤쳐보며 만들어야 될 부분을 추려봤다.

  1. Dataset

    구조는 register_coco_instance 부분에 dataset의 이름을 지정한 후, 훈련을 할 때 이름을 기준으로 불러와 사용하는 방식이다.
    아쉽게도 런타임 내에서 dataloader를 건드리기는 쉽지 않았다. 따라서 추후 k-fold와 같은 방식을 적용할 땐 json파일을 정제하여 만들어야겠다.

  2. Config

    Config에 있는 Hyperparameter들을 수정하면 되는데, 주의할 점이 하나 있다.
    Dataset의 이름은 튜플 형태로 저장한다는 점이다.
    따라서 한 가지의 데이터셋을 이용한다고 해도 ((‘datasetName’,)) 형태로 저장해야만 한다.

  3. Mapper

    augmentation 부분을 설정할 수 있다. detectron2.data.transforms 내에 많은 기능들을 지원하니, 두고 쓰면 될 것 같다.

  4. Trainer

    Config를 받아서 설정을 한다. 또한 샘플러와 저장 경로와 같은 부분을 지정해줄 수 있다.
    추후 더 알아봐서 유용한 기능들이 있나 찾아봐야겠다.

  5. Train

    Trainer.train()로 손쉽게 지정하면 Tensorboard까지 알아서 지정해준다.
    다만 로그와 세팅값을 좀 더 편하게 보기 위한 환경을 조성해야겠다고 생각했다.