해결된 질문
작성
·
117
·
수정됨
0
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
Cell In[20], line 4
2 mmcv.mkdir_or_exist(osp.abspath(cfg.work_dir))
3 # epochs는 config의 runner 파라미터로 지정됨. 기본 12회
----> 4 train_detector(model, datasets, cfg, distributed=False, validate=True)
File /opt/conda/lib/python3.10/site-packages/mmdet-2.28.2-py3.10.egg/mmdet/apis/train.py:163, in train_detector(model, dataset, cfg, distributed, validate, timestamp, meta)
156 model = build_ddp(
157 model,
158 cfg.device,
159 device_ids=[int(os.environ['LOCAL_RANK'])],
160 broadcast_buffers=False,
161 find_unused_parameters=find_unused_parameters)
162 else:
--> 163 model = build_dp(model, cfg.device, device_ids=cfg.gpu_ids)
165 # build optimizer
166 auto_scale_lr(cfg, distributed, logger)
File /opt/conda/lib/python3.10/site-packages/mmcv/utils/config.py:524, in Config.__getattr__(self, name)
523 def __getattr__(self, name):
--> 524 return getattr(self._cfg_dict, name)
File /opt/conda/lib/python3.10/site-packages/mmcv/utils/config.py:52, in ConfigDict.__getattr__(self, name)
50 else:
51 return value
---> 52 raise ex
AttributeError: 'ConfigDict' object has no attribute 'device'
^캐글
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-25-adb1a52111f0> in <cell line: 4>()
2 mmcv.mkdir_or_exist(osp.abspath(cfg.work_dir))
3 # epochs는 config의 runner 파라미터로 지정됨. 기본 12회
----> 4 train_detector(model, datasets, cfg, distributed=False, validate=True)
2 frames
/usr/local/lib/python3.10/dist-packages/mmcv/utils/config.py in __getattr__(self, name)
50 else:
51 return value
---> 52 raise ex
53
54
AttributeError: 'ConfigDict' object has no attribute 'device'
^코랩
안녕하세요 좋은 강의 감사드립니다.
import os.path as osp
mmcv.mkdir_or_exist(osp.abspath(cfg.work_dir))
# epochs는 config의 runner 파라미터로 지정됨. 기본 12회
train_detector(model, datasets, cfg, distributed=False, validate=True)
이 셀이 실행시 이러한 오류가 뜨는데 이유를 모르겠습니다
답변 1
0
안녕하십니까,
실습코드를 그대로 적용하시면 잘 됩니다. 실습코드를 다시 한번 다운로드 받으시거나, 아님
cfg 설정하실 때 아래를 추가해 주십시요.
cfg.device='cuda'
ConfigDict' object has no attribute 'device 오류 발생시 반드시 설정이 필요합니다.
감사합니다.
아 train_detector의 매개변수로 들어가는게 아니라 cfg 설정에서 추가해줘야 하는거군요 감사합니다. 해결되었습니다.
머신러닝 강의부터 딥러닝 컴퓨터 비전까지 많은 도움 받고 있습니다. 감사합니다.