cuixing158 / yolov3-yolov4-matlab

Import and export Darknet™ models within MATLAB deep learning networks.
93 stars 44 forks source link

用yolov3 assebleNetwork或者dlnetwork报错 #3

Closed yahuiliang closed 4 years ago

yahuiliang commented 4 years ago

网络缺少输出层。

层‘yolo_v3_id1’: 存在未使用的输出。每个层输出必须连接到另一层的输入。 层‘yolo_v3_id2’: 存在未使用的输出。每个层输出必须连接到另一层的输入。 层‘yolo_v3_id3’: 存在未使用的输出。每个层输出必须连接到另一层的输入。

我看你这三个层都是自己定义的。报错信息是说这三层都要连接出去。这个怎么解决呢?你那边可以运行吗?

cuixing158 commented 4 years ago

assebleNetwork is used to import classification networks, importDarknetWeights is used to import yolov3/v4 detection networks.

yahuiliang commented 4 years ago

Yes, importDarknetWeights works just fine, and I am sure it loads weights in.

When I used analyzeNetwork function, it reports the error which says "存在未使用的输出 (unused outputs existed for somehow)" for the last few layers. I am sure these layers are actual outputs for the network since yolov3 does not have classification layer. I feel these errors can be ignored.

However, when I run detect.m, it throws the exception which reports the exact same error for yolo3.weights and yolo3.cfg. Plus that, "empty_85不支持反向传播函数的定义层 (empty_85 does not support back-propagation?)". This error was thrown by dlnetwork function located in yolov3v4Predict.m, and yolov3v4Predict just gets called in detect.m.

Can you give me some clues about what happened?

cuixing158 commented 4 years ago

Yes, errors reported by the network visualization can be ignored. In addition, I did not encounter a layer that does not support back propagation. From your narrative, it is recommend that you use the latest version of matlab, such as the latest version of MATLAB2020a.

yahuiliang commented 4 years ago

Thanks! This is totally helpful, and I will try.

My personal 2019a does not support arguments...end syntax, and you used it several places in the code. I feel your MATLAB version when wrote these code is higher than me. I think an update can improve my current situation.