묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결홍정모의 따라하며 배우는 C++
virtual keyword 관련
Virtual을 상속받는 함수에서 뒤에 override를 달아주는데 앞에도 virtual을 달아줄 필요가 있을까요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
mmdetection show_result 함수관련
안녕하세요강사님 강의 덕분에 항상 연구에 큰 도움받고 있습니다 :) 강의에 나온 mmdetection show_result 함수 관련하여 질문드립니다. 상황:from mmdet.api import init_detector # config 파일과 checkpoint를 기반으로 Detector 모델을 생성. model = init_detector(config_file, checkpoint_file, device='cuda:0') model.show_result(img_arr, results, pixel_list, score_thr=0.7, bbox_color=(0,0,0), thickness=0.01,font_size=8, out_file= f'{save_dir1}{rgb_file_name}')위 코드와 같이 init_detector 함수로 model을 생성show_result 함수로 이미지 위에 추론결과를 시각화하려고 합니다. 이때, show_result 함수에 pixel_list라는 인자를 추가하였는데 다음과 같은 에러를 만났습니다. "TypeError: show_result() got multiple values for argument 'score_thr'" 그래서 mmdetection/mmdet/models/detectors/base.py 모듈의 show_result 함수를 수정하였더니 문제가 해결되었습니다. 하지만 mmdetection 내의 mmdet 원본코드를 직접 수정한다면 mmdetection 버전이 바뀔때 마다 매번 해당 코드를 수정해줘야 할 것 같아서요. 혹시 원본코드를 수정하지 않고 새로운 모듈(new_base.py)을 만들고 override를 할 수 있는 방법이 있을까요? (mmdetection/mmdet/api/inference.py의 init_detector와 mmdetection/mmdet/models/detectors/base.py의 show_result 함수가 뭔가 엮여있는 것 같은데 도저히 방법을 모르겠습니다 ㅠㅠ)