У меня проблемы с загрузкой YOLOv3 в модуль dnn OpenCV. Я следую этому уроку , но вместо того, чтобы использовать полный YOLOv3, я использую Tiny YOLOv3, обученный на моем собственном наборе данных.
В строке 84 layerOutputs = net.forward(ln)
Я получаю сообщение об ошибке openCV:
[ERROR:0] global /io/opencv/modules/dnn/src/dnn.cpp (3066) getLayerShapesRecursively OPENCV/DNN: [Concat]:(concat_20): getMemoryShapes() throws exception. inputs=2 outputs=1/1
[ERROR:0] global /io/opencv/modules/dnn/src/dnn.cpp (3069) getLayerShapesRecursively input[0] = [ 1 128 28 28 ]
[ERROR:0] global /io/opencv/modules/dnn/src/dnn.cpp (3069) getLayerShapesRecursively input[1] = [ 1 256 27 27 ]
[ERROR:0] global /io/opencv/modules/dnn/src/dnn.cpp (3073) getLayerShapesRecursively output[0] = [ 1 128 28 28 ]
[ERROR:0] global /io/opencv/modules/dnn/src/dnn.cpp (3075) getLayerShapesRecursively Exception message: OpenCV(4.2.0) /io/opencv/modules/dnn/src/layers/concat_layer.cpp:102: error: (-201:Incorrect size of input array) Inconsistent shape for ConcatLayer in function 'getMemoryShapes'
Traceback (most recent call last):
File "yolo-server.py", line 86, in <module>
layerOutputs = net.forward(ln)
cv2.error: OpenCV(4.2.0) /io/opencv/modules/dnn/src/layers/concat_layer.cpp:102: error: (-201:Incorrect size of input array) Inconsistent shape for ConcatLayer in function '
, где ln = [ln[i[0] - 1] for i in net.getUnconnectedOutLayers()]
Вот мой код & вот cfg Вот веса Я использовал.
Попытка @ Soln
Я пробовал использовать COCO и получил результаты, то есть я подозреваю, что это связано с файлом CFG? Но когда я пробую свои cfg & weights с использованием dar knet, это работает - так что я предполагаю, что в моей cfg есть большая ошибка, которую dar knet пропускает? Я также просмотрел inte rnet, но не смог найти ничего удобоваримого в ошибку, которую я делаю.