inflearn logo
강의

Course

Instructor

[Revised Edition] Deep Learning Computer Vision: The Complete Guide

COCO 형태 BCCD 데이터 학습 - Dataset 변환, Config 설정, 학습 및 Inference 수행

mm_faster_rcnn_train_coco_bccd 실행 오류 질문드립니다.

75

limtony1

5 asked

0

안녕하세요 강사님, 좋은 강의 감사히 듣고 있습니다. 다름이 아니라, old colab에서 new kaggle로 수정 후 실습을 하는 과정에서 faster rcnn의 mm_faster_rcnn_train_coco_bccd 파일을 실행하고 있었습니다.

다음의 코드에서 동일한 에러가 발생합니다.
중간에 학습을 하는 코드
train_detector(model, datasets, cfg, distributed=False, validate=True)


테스트셋을 평가하는 코드
metric = dataset.evaluate(outputs, metric='bbox')

를 실행한 결과, 다음의 에러코드가 출력됩니다.

--> 314         res.dataset['info'] = copy.deepcopy(self.dataset['info'])
    315         res.dataset['images'] = [img for img in self.dataset['images']]
    316 

KeyError: 'info'

제가 열심히 검색하며 추가 조사를 해본 결과,

epoch를 기본으로 설정한 12회를 다 돌고 나서 bbox를 evaluate하는 과정에서 에러가 나는 것 같습니다.

annotation파일들인 train.json 파일과 test.json파일에 info의 키가 없어서 에러가 발생한 것 같다... 라는 결론에 이르렀는데 강사님께서 보시기에 무엇이 문제인지 궁금하여 질문드립니다.

궁극적으로 해결을... 어떻게 할지도 고민이 좀 많이 됩니다.


PS. 구글 서치와 챗지피티 프롬프트 질문 결과, 에러의 원인은 mmdetection >= 2.28.0 버전에서 pycocotools 2.0.x 이상을 사용할 때 이 오류가 보인다는 의견이 있었고
pycocotools는 내부적으로 딥카피(copy.deepcopy(self.dataset['info']))를 사용하기 때문에, 필드 누락이 바로 Error로 이어지지 않았나... 까지 찾았습니다.

python 머신러닝 딥러닝 keras tensorflow 컴퓨터-비전

Answer 1

0

dooleyz3525

안녕하십니까,

강의를 잘 듣고 계시다니 저도 기분이 좋군요.

정확한 원인은 아닐 수도 있지만, mmdetection의 2.x 버전과 numpy 버전, coco 버전 등의 현재 호환 이슈등으로 train_detector(model, datasets, cfg, distributed=False, validate=True)호출 시 validate=True로 해서 validation data의 evaluate를 수행하면 오류가 발생합니다.

아쉽게도 현재는 train_detector(model, datasets, cfg, distributed=False, validate=False) 와 같이 validate=False로 해서 validation data의 evaluation을 skip 해줘야 합니다.

감사합니다.

0

limtony1

감사합니다 강사님.
train 과정에서의 에러는 스킵으로 해결이 되었으나,

 

bbox evaluate을 하는 파일의 마지막 줄 코드
metric = dataset.evaluate(outputs, metric='bbox') 에서는 여전히 info를 못 찾겠다는 에러를 내고 있습니다.

좀 더 열심히 찾아보도록 하겠습니다. :)

0

dooleyz3525

dataset.evaluate() 수행하면 mmdetection 호환성 문제로 버전이 안맞아서 그러는것 같습니다. 아마 제가 내년 1월말쯤에는 mmdetection 신규 버전으로 실습 코드와 강의 영상을 변경을 완료할 예정입니다. 현재는 evaluate() 이슈가 있다 정도로 넘어가시면 어떨까 싶습니다.

강의 환경설정 질문

0

35

2

Custom Dataset에서의 polygon 정보 관련

0

80

3

cvat.ai 보안 수준이 궁금합니다

0

77

2

캐클 nucleus 챌린지 runpod 실습 코드 에러 질문드립니다.

0

93

3

추론 결과의 Precision(또는 mAP) 평가 방법

0

80

2

mmdetection mask rcnn inferenct 실습 시 runpod 템플릿 관해서 질문드립니다.

0

56

2

runpod에서 google drive 연결 시 오류 발생

0

105

2

로드맵 선택

0

64

1

mmcv

0

55

2

Anchor box의 Positive 처리 위치

0

59

2

해당 강의 runpod 적용 후 에러 제보드립니다

0

82

2

run pod credit 관련 제보

0

92

2

mmdetection 2.x과 3.x 호환 관련 표기

0

74

2

mm_faster_rcnn_train_kitti.ipynb 실행 오류

0

93

3

질문 드립니다.

0

74

3

강사님께 수정을 제안드리고 싶은 것이 있습니다.

0

91

1

google automl efficientdet 다운로드 및 설치 오류

0

71

1

이상 탐지에 사용할 비전 기술 조언 부탁드립니다.

0

100

2

OpenCV 관련 질문드립니다.

0

68

2

mmcv 설치관련해서 문의드려요

0

324

3

강의 구성 관련해서 질문이 있습니다

1

130

2

모델 변환 성능 질문드립니다.

0

119

1

NMS 로직 문의 드려요

0

108

2

선생님, yolov2.weights파일 구할 수 있을까요?

0

225

2