안녕하세요.
matlab에서 배포한 yolo v3 코드에서 제 데이터세트(multi-class)로 학습시에 아래와 같은 오류가 계속 발생합니다.
(yolo-v3 예제인 vehicleDataset(single class)에서는 정상적으로 작동합니다.)
다음 사용 중 오류가 발생함: bboxOverlapRatio
'bboxA'의 값이 유효하지 않습니다. 입력값은(는) 유한함(finite)이어야 합니다.
오류 발생: bboxOverlapRatio>validateAndParseInputs (line 195)
parser.parse(bboxA,bboxB,varargin{:});
오류 발생: bboxOverlapRatio>iParseInputs (line 94)
[bboxA, bboxB, ratioType] = validateAndParseInputs(bboxA, bboxB, varargin{:});
오류 발생: bboxOverlapRatio (line 55)
[bboxA, bboxB, ratioType, isUsingCodeGeneration] = iParseInputs(bboxA,bboxB,varargin{:});
오류 발생: generateTargets>getMaxIOUPredictedWithGroundTruth (line 138)
overlap = bboxOverlapRatio(predb,truthBatch);
오류 발생: generateTargets (line 45)
iou = getMaxIOUPredictedWithGroundTruth(bx,by,bw,bh,groundTruth);
오류 발생: modelGradients (line 16)
[boxTarget, objectnessTarget, classTarget, objectMaskTarget, boxErrorScale] = generateTargets(gatheredPredictions, YTrain, inputImageSize, anchors, mask, penaltyThreshold);
오류 발생: deep.internal.dlfeval (line 18)
[varargout{1:nout}] = fun(x{:});
오류 발생: dlfeval (line 41)
[varargout{1:nout}] = deep.internal.dlfeval(fun,varargin{:});
오류 발생: multi_class_yolov3_smd_v2 (line 207)
[gradients,loss,state] = dlfeval(@modelGradients, net, XTrain, YTrain, anchorBoxes, anchorBoxMasks, penaltyThreshold, networkOutputs);
이와 유사한 에러를 겪은 다른 사용자의 글에서도 답변이 제대로 달려있지 않아 디버그에 어려움을 겪고 있습니다.
제 데이터 세트로 yolo-v2 나 ssd는 제대로 동작하는데 yolo-v3에서만 에러가 나서 matlab에서 제공하는 코드에서 에러가 발생하는 것으로 생각됩니다.
답변부탁드립니다.
감사합니다.
matlab 버전 : 2020a