• 카테고리

    질문 & 답변
  • 세부 분야

    컴퓨터 비전

  • 해결 여부

    미해결

train_detector()에서 오류가 납니다ㅜㅠ

22.05.02 21:54 작성 조회수 1.41k

0

 

 

   train_detector()에서 "AttributeError: 'ConfigDict' object has no attribute 'device'" 이런 오류가 나는데

뭐가 문제인가요..?

 

답변 2

·

답변을 작성해보세요.

4

음, 그렇군요.

확인해 보니 mmdetection 패키지에서 내부 변경이 있었나 보군요.

일단 이걸 bug fix로 수정할지 좀 더 지켜봐야 할 것 같습니다.  오류를 수정하려면 config 설정에

cfg.device='cuda'

를 추가하면 됩니다.  아래의 cfg 설정에서 맨 마지막과 같이 추가 하시면 됩니다. 

좋은 정보 감사합니다. 

 

# dataset에 대한 환경 파라미터 수정. 
cfg.dataset_type = 'PetDataset'
cfg.data_root = '/content/data/'

# train, val, test dataset에 대한 type, data_root, ann_file, img_prefix 환경 파라미터 수정. 
cfg.data.train.type = 'PetDataset'
cfg.data.train.data_root = '/content/data/'
cfg.data.train.ann_file = 'train.txt'
cfg.data.train.img_prefix = 'images'

cfg.data.val.type = 'PetDataset'
cfg.data.val.data_root = '/content/data/'
cfg.data.val.ann_file = 'val.txt'
cfg.data.val.img_prefix = 'images'

# class의 갯수 수정. 
cfg.model.roi_head.bbox_head.num_classes = 37
# pretrained 모델
cfg.load_from = 'checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth'

# 학습 weight 파일로 로그를 저장하기 위한 디렉토리로 구글 Drive 설정. 
cfg.work_dir = '/mydrive/pet_work_dir'

# 학습율 변경 환경 파라미터 설정. 
cfg.optimizer.lr = 0.02 / 8
cfg.lr_config.warmup = None
cfg.log_config.interval = 5

cfg.runner.max_epochs = 5

# 평가 metric 설정. 
cfg.evaluation.metric = 'mAP'
# 평가 metric 수행할 epoch interval 설정. 
cfg.evaluation.interval = 5
# 학습 iteration시마다 모델을 저장할 epoch interval 설정. 
cfg.checkpoint_config.interval = 5

# 학습 시 Batch size 설정(단일 GPU 별 Batch size로 설정됨)
cfg.data.samples_per_gpu = 4

cfg.device='cuda'

0

안녕하십니까, 

이것만 봐서는 뭐가 문제인지 모르겠군요. 

config 만드실때 device관련한 뭔가 설정을 하신 건가요? 

아님,  맨 처음 오류를 보면  no such file or direction 'mmdetection' 오류가 나는데, mmdetection은 설치가 제대로 된건가요? 

mmdetection이 제대로 설치가 되었는지 강의를 보시고 다시 한번 확인 부탁드리고, 그래도 오류가 발생하면 설정한 config와 수행한 소스코드를 여기에 올려 주십시요. 

감사합니다. 

soxn3579님의 프로필

soxn3579

2022.05.04

저도 똑같은 오류가 납니다. 수업 도중이라서 바꾼 코드는 없습니다 ㅜㅜ